This.get(“模型”)addObjects(记录)。抛出异常“未捕获的TypeError:internalModel.getRecord不是函数”

时间:2015-10-24 10:38:58

标签: ember.js

我需要帮助的朋友,在更新到Ember 2.X之后,我的无限滚动停止了工作。在到达页面结束时,我查询商店以获取新记录:

 load_more: function(){
 var self = this;
  this.get("store").query("actor",{pg: 1}}).then(function(records) {

    self.get('model').addObjects(records); // this throw excepton 

  }
}

这完全正常,但现在self.get('model').addObjects(records);抛出异常"Uncaught TypeError: internalModel.getRecord is not a function" in record-array.js at line 86 "return internalModel && internalModel.getRecord()"

我尝试使用self.get('model').pushObjects(records);,但也会出现同样的错误,请帮助

2 个答案:

答案 0 :(得分:0)

我们遇到了同样的问题..尝试做

self.get('model').toArray().pushObjects(records)

答案 1 :(得分:0)

我认为这是在你的控制器上。您可以尝试使用Ember获取,这在获取承诺上的项目时更好用:

load_more: function(){
  Ember.get(this, "store").query("actor",{ pg: 1 }}).then((records) => {
    Ember.get(this, 'model').addObjects(records);
  }
}

Ember 2.x应该允许您访问最新版本的babel,这意味着您可以使用=>个功能(并且不必执行var self = this,因为它会为您执行此操作)