Wes*_*man 12 ember.js ember-old-router
我正在试图弄清楚如何防止或暂停路线改变.对于我的编辑屏幕,如果用户在未保存的更改时导航(后退按钮或其他某种机制),我想提示他们确保他们想要离开页面.非常相似window.onbeforeunload
,但通过路由器.
以前版本的Ember中的状态图为您提供了一个可以使用的过渡对象.似乎在ember-latest中,情况已不再如此.那么最好的方法是什么呢?
编辑:
上述问题陈旧,所列答案已过时.Ember现在有一种本地方式来处理这个问题.请参阅文档:http://emberjs.com/guides/routing/preventing-and-retrying-transitions/
你想要做的是使你的过渡有条件.而不是Ember.Route.transitionTo
直接使用,你想要的东西,如:
var transitionAfterConfirmation = function(target){
var defaultEvent = Ember.Route.transitionTo(target),
event = function(stateManager, context){
if( confirm("Really go?")){
defaultEvent(stateManager,context);
}
};
event.transitionTarget = target;
return event;
};
Run Code Online (Sandbox Code Playgroud)
请参阅http://jsfiddle.net/hjdivad/KsHCN/ 以获取示例.
Ember的路由器现在有一个本机机制,可以很容易地做到这一点.请参阅文档:http://emberjs.com/guides/routing/preventing-and-retrying-transitions/
归档时间: |
|
查看次数: |
3795 次 |
最近记录: |