在Ember 2.0中离开路线时提醒用户

时间:2015-10-09 15:52:25

标签: javascript jquery ember.js

好的,我有一个用表格组成的组件。当用户点击另一个链接时,我想提醒用户他有未保存的数据(如果有的话)。 现在,如果我不被绑定到ember,我会在更改事件上放置一个标志并添加一个窗口卸载监听器来显示实际消息,但是, 由于我没有真正离开窗户,因此不会被召唤。

是否有任何Ember事件我可以附加处理程序?喜欢某种改变路线意图事件

我很有兴趣知道哪个是离开路线动作的正确事件,而不是改变逻辑。

到目前为止,我已经在didInsertElement()方法上尝试了这个

Ember.$("body").on('unload',()=> alert('it works'));     
Ember.$("window").on('unload',()=> alert('it works'));   
Ember.$("body").on('unload','body'()=> alert('it works'));  

任何想法?

2 个答案:

答案 0 :(得分:2)

您是否看过路线上的willTransition方法?这将是做这件事的地方。请阅读本preventing and retrying transitions指南以及willTransition方法的documentation。希望有所帮助!

答案 1 :(得分:1)

你可以在路线上抓住transition event。它意味着用于此用例。 当组件为destroyed时,也会有动作,但这是用于拆卸的。