为什么异步验证程序回调将没有组件上下文?

路易斯·马丁

我注意到我无法从其方法之一访问该组件,该方法已分配给一个异步验证器(用超时进行模拟)。

因此,我需要使用bind()强制其上下文。异步验证程序是否总是这样?还是缺少其他任何东西,以便此方法将上下文保留在其中?

这是代码:

https://embed.plnkr.co/xJz7Z66SUUFaN8QCYcrJ/

注意验证器的分配:

this.asyncExampleValidator.bind(this)

在data-driven.component.ts中

您可以使用实例函数将“ this”保留在您希望的位置

这里

 onAddHobby() {
      (<FormArray>this.myForm.get('hobbies')).push(new FormControl('', Validators.required, this.asyncExampleValidator.bind(this)));
    }

onAddHobby“ this”可能不是您所期望的,并且asyncExampleValidator遇到相同的情况

TypeScript中的this

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么我的 Ember 组件中的 .then() 中没有“this”上下文

WinHTTP 异步上下文在回调中无效

Akka 流 - 为什么没有删除上下文?

没有正确的上下文......为什么?

为什么我的数组没有上下文?

Javascript:为什么具有全局执行上下文的回调函数可以访问作用域变量?

有没有办法在模板上下文更新之前/之后插入回调?

回调内的上下文丢失

当提供程序组件的父状态更改时,为什么不能更新子组件中的值(带有react上下文)?

反应:为什么我的上下文值没有更新?

反应:为什么我的上下文值没有更新?

为什么上下文没有传递给事件监听器

为什么 constexpr 上下文使编译器失败,而没有完美优化?

为什么将绑定数据上下文设置为控件的数据上下文?

Web组件-什么是执行上下文?

在“回调队列”的上下文中,“空堆栈”到底是什么意思?

将正确的“ this”上下文传递给setTimeout回调?

将方法“ YoutubeRecyclerAdapter”的第二个参数从“上下文”更改为“回调<...>”

如何将 glib 信号回调附加到某些线程上下文

为什么反应功能组件中的回调没有读取更新的状态值

为什么在有或没有上下文的情况下捕获异常关闭打开的文件?

.replace回调中的JavaScript“ this”上下文

WCF回调+保存会话不操作上下文

单击回调根据 var 或 let 丢失上下文

回调函数,关闭和执行上下文

回调后离子类上下文消失

AWS Lambda中的上下文与回调

上下文菜单回调中的单击事件信息

在AMQP回调之间共享上下文