[emberjs]将'on(“init”)'添加到observabes有什么意义?

时间:2015-03-24 08:25:45

标签: ember.js

我正在学习ember-cli-101。它在使用观察者时添加(' init')。我试图删除它,它没有任何区别。 我试着阅读api文档但仍然没有意义,请帮帮我......

autoSave: function() {
    var article = this.get('article');

    if (!article.get('isNew')) {
        this.sendAction('save', article);
    }
},
stateChanged: function() {
    var article = this.get('article');

    if (article.get('isDirty') && !article.get('isSaving')) {
        Ember.run.once(this, this.autoSave);
    }
}.on('init').observes('article.state')

autoSave:.....
stateChanged: function() {
    var article = this.get('article');

    if (article.get('isDirty') && !article.get('isSaving')) {
        Ember.run.once(this, this.autoSave);
    }
}.observes('article.state')

他们的确工作原理相同,不同之处......

1 个答案:

答案 0 :(得分:1)

如果在初始化观察者之前更改了属性,则观察者不会触发。这就是为什么有时在init上运行观察器函数也是好的。