相关疑难解决方法(0)

在Angular2中如何知道何时任何表单输入字段失去焦点

在Angular2中如何知道任何输入字段何时失去焦点..!如果我在表单上使用observable:

form.valueChange.subscribe...
Run Code Online (Sandbox Code Playgroud)

不会工作,因为我真的想知道什么时候一个字段丢失它的模糊(焦点)所以我可以更新我的商店(如果我在失去焦点之前更新商店,我的光标在文本输入上移动到最后,因为数据被交换这看起来很奇怪)

当然我也可以添加(change)=""每个输入,但我有很多'...

我在考虑各种各样的事情:

this.form.valueChanges.debounceTime(1000).subscribe((changes:any) => {
  if (this.form.dirty){
    this.appStore.dispatch(this.resellerAction.updateResellerInfo(changes))
  }
});
Run Code Online (Sandbox Code Playgroud)

但问题是脏污仍然很脏,所以它陷入了永久性的变化检测循环......

TX

肖恩

angular

17
推荐指数
2
解决办法
2万
查看次数

dispatchEvent导致错误,无法在'EventTarget'上执行'dispatchEvent':参数1不是'Event'类型

我正在使用Angular2 + TypeScript,当我尝试执行此代码时:

var event = new Event('check');
window.dispatchEvent(event);
Run Code Online (Sandbox Code Playgroud)

此代码导致下一个错误:

无法在'EventTarget'上执行'dispatchEvent':参数1不是'Event'类型。

我已经尝试了所有方法,发现可以使用:

var event = new CustomEvent('check');
Run Code Online (Sandbox Code Playgroud)

问题是任何IE不支持CustomEvent。

另一件有效的方法是:

var event = new Event('CustomEvent');
event.initCustomEvent('check');
Run Code Online (Sandbox Code Playgroud)

问题是不赞成使用InitCustomEvent。

我有什么办法可以避免这种类型的错误?也许在打字稿中的某个地方例外?还是使用不被弃用且适用于IE Edge的任何代码?

javascript typescript angular

8
推荐指数
1
解决办法
7216
查看次数

标签 统计

angular ×2

javascript ×1

typescript ×1