我正在尝试使用devextreme组件来实现异步验证器。为此,我定义了带有功能的服务。然后,将该服务导入到适当的组件中,在构造函数中定义一个属性,然后调用该函数。但是我得到了错误,即this.asyncval is undefined
。为什么?
这是一个堆叠闪电战:https://stackblitz.com/edit/angular-dxpopup-et6z3y
只需单击“新伙伴”按钮,在“名称”字段中写一些文本,然后单击选项卡并查看控制台。
答案 0 :(得分:0)
回调绑定在模板中。因此,它可能会丢失对this
关键字的引用。可以使用匿名函数代替命名函数
export class ChildComponent {
alreadyExists = (params) => this.asyncval.alreadyExists(params.value);
...
}
我已经修改了您的Stackblitz。