我最近从ember 1.x搬到了2.6。我不能像以前一样使用addObject / pushObject。
Ember : 2.6.2
jQuery : 2.2.4
import Ember from 'ember';
export default Ember.Controller.extend({
test: ['sibi', 'john'],
init: function() {
this.get('test').pushObject('sebastian');
}
});
这会抛出一个像pushObject不是函数的错误。解决方法是什么?谢谢。
答案 0 :(得分:8)
由于某些原因,extend prototypes选项为false。 您可以在guide中阅读有关禁用原型扩展的更多信息。
EmberENV: {
EXTEND_PROTOTYPES: {
Array: true
}
}
谢谢!
答案 1 :(得分:4)
检查package.json
对ember-disable-prototype-extensions
。
如果您的项目是一个插件项目,那么它已经被ember-cli添加了。你应该忍受它。 (只要您需要Ember数组,请使用Ember.A
。)
如果您的项目是应用程序项目,请删除此插件。