Ember模型addObject不是一个函数

时间:2017-05-15 20:09:51

标签: javascript ember.js ecmascript-6 ember-cli

我得到" application.js:72 TypeError:_this2.get(...)。toArray不是函数"以下代码中的错误。我试图推动服务器对模型的响应,以便模型动态更新。这发生在控制器中。 Controller拦截模板中另一个组件的操作。这里出了什么问题?

javasriptArray.push("string1");
javasriptArray.push("string2");
javasriptArray.push("string3");
...

2 个答案:

答案 0 :(得分:0)

你的模特'一个余烬数据模型?如果是这样,它实际上可能是一个承诺,并且在这种情况下toArray将不起作用。要解决此问题,请在完全解析后返回模型,或者使用.then将模型转换为数组。 作为旁注,如果您的唯一目标是将响应添加到模型中,则可以不进行所有转换,只需将对象直接添加到模型中即可。可能类似于" Ember.set(model,' newAttr',Ember.Object.create(response)); 并使用存储在newAttr。

中的信息

希望这有帮助! :)

答案 1 :(得分:0)

如果您返回RSVP.hash,则无法执行this.get('model').toArray(),因为现在模型只是object。我想你可能需要从像this.get('model.reportsOrSomethingWhichYouReturnFromModelHook')这样的模型中获取精确的属性。