要访问我组件中的NgControl,我创建了构造函数:
NgControl _cd;
MyDateEditComponent(@Self() @Optional() this._cd);
我想这样使用我的组件:
<my-date-edit [(ngModel)]="date" ngControl="date">
或
<my-date-edit [(date)]="date" ngControl="date">
现在我有错误:
断言失败:“(日期)没有值访问器,或者您的指令列表中可能缺少formDirectives。”
如何解决?
答案 0 :(得分:3)
如果您在自定义组件上使用ngModel,请使用ControlValueAccessor
export class YourComponent implements ControlValueAccessor {
// need to imlement following methods
onChange = (val: Date) => { };
onTouched = () => { };
writeValue(val: Date) {
// your ngModel value comes under here
}
registerOnChange(fn: (val: Date) => void) {
this.onChange = fn;
}
registerOnTouched(fn: () => void): void {
this.onTouched = fn;
}
}