Когда я меняю селектор на 'input'
, он работает на каждом входе, который он может найти. Если я изменю его на 'input[numeric]'
, ничего не произойдет (да input[numeric]
действительно есть). Что я делаю неправильно? Разве это не должно работать так? Он говорит, что селектор CSS в документации ...Селектор директивы не находит элемент
import {Directive, ElementRef} from '@angular/core';
import {NgModel} from '@angular/common';
@Directive({
selector: 'input[numeric]',
host: {
'(input)' : 'onInputChange()'
}
})
export class NumberFormatDirective {
constructor(public model: NgModel, public element: ElementRef) {
console.log(1);
}
onInputChange(): any {
console.log(2);
}
}
Шаблон выглядит следующим образом:
<input *ngIf='!isMultiLine()'
[attr.readonly]='readonly'
[attr.disabled]='isInputDisabled()'
[attr.minlength]='minLength'
[attr.maxlength]='maxLength'
[attr.numeric]='isNumeric()'
[(ngModel)]='value' (ngModelChange)='valueChanged($event)'
(keyup.enter)='updateValueRestore()'
(keyup.escape)='resetValue()'
(focus)='onFocus()'
(blur)='onBlur()'
autocomplete='off'/>
Как выглядит 'input [numeric]' that 'is really there "точно? –
Я добавил код html – user489872
Я думаю, он должен работать. Можете ли вы воспроизвести в Plunker? –