有人可以向我解释为什么这个余烬可以被观察到并没有被解雇?

时间:2014-12-23 02:40:42

标签: ember.js

每当我保存数据(self.get('content')。pushObject(record);)并将记录推回到内容数组中时,observable不会被触发。我需要触发observable,以便内容数组再次排序。你可以向我解释为什么不解雇?

saveIdea.IndexController = Ember.ArrayController.extend({
    appName: 'My First Example',
    todaysDayOfMonth: moment().format('DD'),
    todaysMonth: moment().format('MMMM'),
    body: '',
    taggy: '',
    content : Em.A(),
    sortContent : function()
    {
        var ideas = this.get('content').toArray();
        ideas.sort(function(a, b) {
            if (moment(b.get('date')).isBefore(moment(a.get('date')))) {
                return -1
            } else {
                return 1
            }
        });
        this.set('content',ideas)
    },
    todaysIdeas: function(){
            this.sortContent();
    }.observes('content.[]'),
    actions: {

        save: function() {

            var self = this;

            var idea = this.store.createRecord('idea', {
                body: this.get('body'),
                tag: this.get('taggy')
            });
            idea.save().then(function(record) {
                self.get('content').pushObject(record);
            });
        }
    }
});

1 个答案:

答案 0 :(得分:0)

因为您无法使用数组。

  

这个mixin实现了Observer友好的类似数组的行为。它不是一个具体的实现,但它可以被其他希望看起来像数组的类使用。

http://emberjs.com/api/classes/Ember.Array.html

使用具体实现,e.x。 Ember.ArrayProxy

http://emberjs.com/api/classes/Ember.ArrayProxy.html