Je ne sais absolument pas ce qui se passe.Passage d'un composant à la directive par l'entrée
J'essayais d'écrire une directive simple à mon composant personnalisé, basée sur la valeur (de ngModel) passant la valeur au composant ther (à ngModel aussi).
Il est ressemble à ça:
<form-text
required
birthDateExtracter="dateOfBirth"
name="id"
[(ngModel)]="model.idNumber"></form-text>
<form-datepicker #dateOfBirth
name="Birth Date"
[(ngModel)]="model.birthDate"></form-datepicker>
et ma directive ressemble à:
@Directive({
selector: '[ngModel][birthDateExtracter]'
})
export class BirthDateExtracterDirective {
_component: any;
@Input('birthDateExtracter')
set birthDate(value: any) {
this._component = value;
console.log(value); //it's not working
}
constructor(private model: NgModel) {
}
@HostListener('ngModelChange', ['$event'])
onModelChange(event) {
console.log(event); //it works fine
}
}
Mais au lieu du composant à mon entrée se passait "dateOfBirth" string. J'espère que c'est une erreur stupide, schollboy ou une faute de frappe, mais je ne peux pas le gérer. Ou peut-être que je devrais le faire d'une autre manière. Y a-t-il une erreur de cette façon?
oh homme! :) encore vous sauvez ma journée :) Je savais que c'est l'erreur d'écolier! Merci beaucoup –
De rien!) – yurzui