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'/>
Wie sieht die 'Eingabe [numerisch]' das ist wirklich da 'genau aus? –
Ich habe den HTML-Code – user489872
hinzugefügt Ich denke, es sollte funktionieren. Kannst du in einem Plunker reproduzieren? –