Ember.js 余烬数据-未标记为“的子关系”;isDirty“;

Ember.js 余烬数据-未标记为“的子关系”;isDirty“;,ember.js,ember-data,Ember.js,Ember Data,我对isDirty有问题,事实上它似乎不受相关儿童模型的影响 我创建了一个模型来尝试解释。如果编辑我的名字,isNotDirty computed属性将变为false。如果重新运行页面并编辑子模型,则不会更改isNotDirty App.IndexController = Ember.ObjectController.extend({ isNotDirty: Em.computed.not('isDirty') }); 这是一个已知问题还是我做错了什么?您需要创建一个计算属性来监视所有

我对isDirty有问题,事实上它似乎不受相关儿童模型的影响

我创建了一个模型来尝试解释。如果编辑我的名字,isNotDirty computed属性将变为false。如果重新运行页面并编辑子模型,则不会更改isNotDirty

App.IndexController = Ember.ObjectController.extend({
    isNotDirty: Em.computed.not('isDirty')
});

这是一个已知问题还是我做错了什么?

您需要创建一个计算属性来监视所有子记录的isDirty,如下所示:

App.IndexController = Ember.ObjectController.extend({
    isNotDirty: function() {
        return !this.get('projects').someProperty('isDirty');
    }.property('projects.@each.isDirty')
});
您还可以创建一个属性,将父记录的脏状态考虑在内:

App.IndexController = Ember.ObjectController.extend({
    isParentOrAnyChildDirty: function() {
        return this.get('isDirty') || this.get('projects').someProperty('isDirty');
    }.property('isDirty', 'projects.@each.isDirty')
});

为阿列克斯佩勒干杯,你在这里的帮助和emberjs IRC是无价的。到目前为止,我从你那里学到了不少东西——再次感谢你!