2016-06-14 6 views
1

セレクタを'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

私はhtmlコード – user489872

+1

を追加しました。うまくいくはずです。 Plunkerで再現できますか? –

答えて

0

チェック

plnkr.co/edit/VFRqjipiFFJqYdnSIM49?p=preview

その期待どおりの動作。

+0

私のローカルマシンでは動作しません。( – user489872

+1

答えには、外部リソースにリンクするのではなく、直接必要な部分が含まれている必要があります。 –

関連する問題