指令选择器找不到元素

时间:2016-06-14 12:11:14

标签: typescript angular

当我将选择器更改为'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'/>

1 个答案:

答案 0 :(得分:0)

检查

plnkr.co/edit/VFRqjipiFFJqYdnSIM49?p=preview

按预期工作。