服务功能未定义

时间:2020-06-17 19:23:03

标签: angular

我正在尝试使用devextreme组件来实现异步验证器。为此,我定义了带有功能的服务。然后,将该服务导入到适当的组件中,在构造函数中定义一个属性,然后调用该函数。但是我得到了错误,即this.asyncval is undefined。为什么?

这是一个堆叠闪电战:https://stackblitz.com/edit/angular-dxpopup-et6z3y

只需单击“新伙伴”按钮,在“名称”字段中写一些文本,然后单击选项卡并查看控制台。

1 个答案:

答案 0 :(得分:0)

回调绑定在模板中。因此,它可能会丢失对this关键字的引用。可以使用匿名函数代替命名函数

export class ChildComponent {
  alreadyExists = (params) => this.asyncval.alreadyExists(params.value);
  ...
}

我已经修改了您的Stackblitz