Ember:addObject / pushObject不是函数

时间:2016-08-02 07:41:54

标签: ember.js ember-cli

我最近从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不是函数的错误。解决方法是什么?谢谢。

2 个答案:

答案 0 :(得分:8)

由于某些原因,extend prototypes选项为false。 您可以在guide中阅读有关禁用原型扩展的更多信息。

EmberENV: {
      EXTEND_PROTOTYPES: {
        Array: true
      }
    }

谢谢!

答案 1 :(得分:4)

检查package.jsonember-disable-prototype-extensions

如果您的项目是一个插件项目,那么它已经被ember-cli添加了。你应该忍受它。 (只要您需要Ember数组,请使用Ember.A。)

如果您的项目是应用程序项目,请删除此插件。