1
当“基本”路线激活/重新激活时是否有执行的方法?我有以下网址:仅当在基础路线中激活“基本”路线时才执行代码
Router.map(function() {
// /projects
this.resource('projects', function() {
// /projects/2
this.resource('project', {path: ':id'});
});
});
我想transitionTo
单个项目途径,如果只有一个从projects
路线返回的项目。我可以这样做:
import Ember from 'ember';
export default Ember.Route.extend({
model: function() {
return this.store.findAll('project');
},
afterModel: function(projects, transition) {
if (projects && projects.get('length') === 1) {
this.transitionTo('project', projects.get('firstObject'));
}
}
});
这工作得很好......除了我仍然可以去projects
路线,因为该模型已经被加载的钩不再次触发。有没有办法在0123.路线被激活时总是执行该规则?
例如,如果我去/projects/23
,然后我去/projects
我想自动转换它们到单个项目路线,如果只有一个。我不知道该怎么做,因为它是一个嵌套的路线,activate
和afterModel
方法在第一次访问/projects/23
时已经被解雇了。
这有道理吗?我该如何做到这一点?
真棒。完美的作品。谢谢! – David 2014-09-06 01:33:33