3

isDirty に問題があり、関連する子モデルの影響を受けていないようです...

試して説明するためにJSフィドルを作成しました。私の名前を編集すると、計算された isNotDirty プロパティが false になります。ページを再実行して子モデルを編集しても、isNotDirty は変更されません...

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

これは既知の問題ですか、それとも何か間違っていますか?

4

1 に答える 1

4

次のように、すべての子レコードで 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')
});
于 2013-08-13T12:27:00.163 に答える