通过输入将组件传递给指令
问题描述:
我完全不知道发生了什么。通过输入将组件传递给指令
我想写一个简单的指令给我的自定义组件,它基于值(从ngModel)传递值到其组件(也是ngModel)。
它看起来像这样:
<form-text
required
birthDateExtracter="dateOfBirth"
name="id"
[(ngModel)]="model.idNumber"></form-text>
<form-datepicker #dateOfBirth
name="Birth Date"
[(ngModel)]="model.birthDate"></form-datepicker>
和我的指令看起来像:
@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
}
}
但不是分量输入我路过“出生日期”字符串。我希望这是一个愚蠢的,schollboy错误或错字错误,但我无法处理它。或者,也许我应该以另一种方式做出来。这种方式是否有错误?
答
似乎你忘了方括号。我想这应该是:
[birthDateExtracter]="dateOfBirth"
或另一种方式是使用插值
birthDateExtracter="{{dateOfBirth}}"
哦,伙计! :)再次拯救我的一天:)我知道那是男生的错误!非常感谢 –
不客气!) – yurzui