Ember.js 重定向时创建的新转换对象
我在路由中有一些余烬代码,我正在等待转换对象,以便在转换完成后执行操作:Ember.js 重定向时创建的新转换对象,ember.js,Ember.js,我在路由中有一些余烬代码,我正在等待转换对象,以便在转换完成后执行操作: willTransition: function (transition) { ... // Wait until the transition has finished before continuing. transition.then(function () { // Transition successful ... }, function () {
willTransition: function (transition) {
...
// Wait until the transition has finished before continuing.
transition.then(function () {
// Transition successful
...
}, function () {
// Transition aborted
...
});
}
在我的应用程序中,除了一种情况外,所有情况下都会调用“成功过渡”功能。这种情况下,转换到在其重定向方法中执行转换的路由。对Transitiono的调用中止了原始转换(我在上面的代码中正在等待的转换),并用一个新的转换替换活动转换。我等待的承诺随后被拒绝,因此我的中止处理程序被调用
有什么方法可以让我得到新的转换对象并等待它吗?从Ember 1.2()开始,didTransition
钩子被添加到路由器()
didtransformation
将在转换发生后调用
App.TestRoute = Ember.Route.extend({
actions: {
willTransition: function(transition) {
...
},
didTransition: function() {
...
}
}
});
从Ember 1.2()开始,didtransfition
钩子被添加到路由器()
didtransformation
将在转换发生后调用
App.TestRoute = Ember.Route.extend({
actions: {
willTransition: function(transition) {
...
},
didTransition: function() {
...
}
}
});
这是一个不错的添加,但似乎不太适合我想要做的事情:我使用应用程序控制器的currentPath属性根据用户当前在应用程序中的位置获取帮助内容,但在调用didTransition时,这些内容似乎还没有更新。现在我考虑一下,也许仅仅观察currentPath的变化就足够了……使用
this.router.get('url')
fromdidtransformation
或setupController
?很好的建议-我从来没有真正考虑过使用路由器的属性,因为我一直觉得它是“内部的”。问题是这会返回URL,当它是我要查找的当前余烬路由名称时,因为这样更容易处理动态段。这是一个很好的添加,但似乎不太符合我的要求:我正在使用应用程序控制器的currentPath属性根据用户当前在应用程序中的位置获取帮助内容,但在调用didTransition时,这些内容似乎尚未更新。现在我考虑一下,也许仅仅观察currentPath的变化就足够了……使用this.router.get('url')
fromdidtransformation
或setupController
?很好的建议-我从来没有真正考虑过使用路由器的属性,因为我一直觉得它是“内部的”。问题是,当它是我要查找的当前余烬路径名称时,它会返回URL,因为这样更容易处理动态段。