【发布时间】:2017-09-07 09:45:29
【问题描述】:
我的 Angular 代码如下所示 >
<input type='text' (blur)='saveData()'>
<button (click)='navigateToPage2()'>
从文本框被聚焦跳转到按钮点击,两个事件之间存在racing条件。
问题是按钮点击被忽略,因为模糊事件首先触发并将微调器带到屏幕上,同时调用服务器以保存数据。
我该如何解决这个确切的问题?
是否有在模糊事件之前触发点击事件的技巧?
【问题讨论】:
-
这就像你在听两个人,谁先说话,谁先被识别。我不确定这是否可能,但您可以根据需要尝试自定义事件。
-
saveData 和 navigateToPage2 的代码是什么?
-
那么 saveData 是异步的吗?无法从您的代码片段中分辨出来。我的猜测是你需要让导航代码知道打开的请求并等到它完成......
-
我来晚了,但万一其他人可以使用这个方案,你可以尝试将保存数据的功能放在超时功能中:
setTimeout( () => this.saveData(), 100 );
标签: javascript html angular