我正在使用Breezejs。讓我們說,我有一個可觀察的實體dummy
充滿了一些數據。用戶通過html頁面上的輸入框修改了該實體的description
屬性。用戶也可能在頁面上的其他輸入框上修改此實體的其他屬性。我的實體的實體狀態此時爲Modified
。接下來,我執行一些檢查,並且需要撤消只需修改此description
屬性(代碼)。如果我的實體中的唯一修改取消,我的entityState將變爲未更改
如果這是唯一的修改話,我想有我entityState成爲Unchanged
如果有這個實體的其它修改那麼我想,讓他們爲是,只有撤消description
財產。
爲什麼我需要那個?當頁面上有一些掛起的修改時,我會顯示Save
和Cancel
按鈕。如果只有1次修改,我撤消它,那麼啓用Save
和Cancel
按鈕就不是邏輯。
可能嗎?
謝謝。
UPDATE
這是我的實際執行情況:
private tryReject() {
// if any modified values are the same as original values >> reject
var rejectPossible = true;
for (var name in this.dummy().entityAspect.originalValues) {
var oldVal = this.dummy().entityAspect.originalValues[name];
var newVal = this.dummy()[name]();
if (oldVal != newVal) rejectPossible = false;
}
if (rejectPossible) this.dummy().entityAspect.rejectChanges();
}
也許有這樣的聰明或更清潔的方式?