我有以下代码:
var msg = this.store.createRecord({text:'first title', createdAt: "2015-06-22T20:06:06+03:00" })
this.get('model.content').pushObject(msg);
msg.save();
我们创造了新纪录。然后将其推入模型中进行显示。它在1.9版本中运行良好,但在将其升级到最新的1.13后,它会中断并显示此错误:
经过一些研究后,我出现了这个解决方案TypeError:internalModel.getRecord不是函数
this.get('messages.content').unshiftObject(message.internalModel);
它有部分帮助。现在我有两个问题:
答案 0 :(得分:8)
不使用私有API的一种可能解决方案是使用toArray()
(github issue):
var array = this.get('messages').toArray()
array.addObjects(this.get('messages'))
array.addObject(msg)
this.set('messages', array)
答案 1 :(得分:7)
在1.13之前:
this.get('content').pushObjects(messages);
1.13之后:
messages.forEach(functio(message) {
this.get('model.content').pushObject(message._internalModel);
});
答案 2 :(得分:0)
我会将所有返回模型设置为数组,然后将数组添加到此数组
setPeople:function(){
this.set('people',this.get('content').toArray())
}.observes('content')
然后,找到更多的人物模型,到阵列
getMoreUsers(){
var self = this;
this.set('offset', this.get('offset')+1);
self.store.findAll('person').then(function(people){
self.get('people').pushObjects(people.toArray());
});