当我将选择器更改为'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'/>
答案 0 :(得分:0)
检查
plnkr.co/edit/VFRqjipiFFJqYdnSIM49?p=preview
按预期工作。