2016-06-14 10 views
1

Wenn ich den Wahlschalter auf setze, arbeitet es an jedem Eingang, den es finden kann. Wenn ich es auf 'input[numeric]' ändern passiert nichts (ja die input[numeric] ist wirklich da). Was mache ich falsch? Soll das nicht so funktionieren? Er sagt CSS-Selektor in der Dokumentation ...Direktivenwahlschalter findet kein Element

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); 
    } 
} 

Die Vorlage sieht wie folgt aus:

<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

Wie sieht die 'Eingabe [numerisch]' das ist wirklich da 'genau aus? –

+0

Ich habe den HTML-Code – user489872

+1

hinzugefügt Ich denke, es sollte funktionieren. Kannst du in einem Plunker reproduzieren? –

Antwort

0

prüfen

plnkr.co/edit/VFRqjipiFFJqYdnSIM49?p=preview

Es funktioniert wie erwartet.

+0

Ich sehe, aber es wird nicht auf meinem lokalen Rechner funktionieren :( – user489872

+1

Die Antwort sollte den wesentlichen Teil direkt enthalten, anstatt nur auf eine externe Ressource zu verlinken. Links können veraltet werden. –

Verwandte Themen