Ember得到不一致的行为

时间:2015-08-07 08:44:19

标签: ember.js

我发现Ember.get在刷新事件时的行为不一致(Ember.run循环用于观察者/计算属性)。 我有一个子控制器,试图获取其父控制器的模型:

App.ParentRoute: Ember.Route.extend({
   queryParams:{
      someProperty: {
          refreshModel: false,
          replace: true
      }
      model: function(params){
          return this.store.find('parent-model', params.id, {reload:true}
........
});

App.ParentChildController = Ember.Controller.extend({
   parent: Ember.inject.controller(),
   someProperty: Ember.computed.alias('parent.someProperty'),
   anObserver: function(){
      var someRelation = this.get('parent.model.someRelation'); // problem line
   }.observes('someProperty').on('init') 
});

App.ParentModel = DS.Model.extend({
   someRelation: hasMany('relation', { async: false });
   ....
});

它适用于控制器初始化。但在父刷新时会引发错误:

TypeError:this.get(...)未定义

someRelation是一个async = false关系,它是侧面加载的。因此,如果我在问题行上设置断点,则以下方法有效:

this.get('parent.model').get('someRelation');

出了什么问题?

0 个答案:

没有答案
相关问题