Ember嵌套路由动态段

时间:2014-05-16 17:38:41

标签: javascript ember.js

我有一个Ember应用程序,它有一系列嵌套路由,每个路由都有动态段:

E.g

/ NestedRouteA /的的argA / NestedRouteB /的的argB

在NestedRouteB路由的模型钩子中,我使用argA和argB来查找给定的资源。

我遇到的问题是,当 argB 保持不变时,不会调用模型钩子,但 argA 会发生变化

E.g

如果用户是/ NestedRouteA / 1 / NestedRouteB / 1 ,然后转到NestedRouteA / 2 / NestedRouteB / 1 ,我希望被调用的模型钩子没有。

我是如何强制模型钩子被调用的?

1 个答案:

答案 0 :(得分:0)

我在这里创建了一个JS小提琴:

http://jsfiddle.net/ssirowy/P2P9n/1/

App.ParentRoute = Ember.Route.extend({
   model: function(params){
       return params.parent_num;
   } 
});

App.ParentChildRoute = Ember.Route.extend({
   model: function(params){
      var parent = this.modelFor('parent');
      var child = params.child_num;
      console.log("Retrieving model for parent/child combo");
      return new Ember.RSVP.Promise(function(resolve){
        setTimeout(function(){ 
            resolve(child);
        }, 1000); 
       });
   }
});

当前版本的小提琴使用最新的Ember,并没有显示我之前遇到的问题。

但是,如果使用< = Ember1.5,问题就出现了。

我在项目中升级了,问题就消失了。