2
可以說我有name = ko.observable('John')
作爲值綁定到input
。如果name
被更改,我需要顯示(隱藏之前)<button>Save</button>
。所以如果我編輯名稱從John
到Jack
然後保存按鈕應該出現,如果編輯回John
它應該再次隱藏。你有什麼想法可以在這裏適用什麼樣的綁定/擴展?
非常感謝!已更改反應值
可以說我有name = ko.observable('John')
作爲值綁定到input
。如果name
被更改,我需要顯示(隱藏之前)<button>Save</button>
。所以如果我編輯名稱從John
到Jack
然後保存按鈕應該出現,如果編輯回John
它應該再次隱藏。你有什麼想法可以在這裏適用什麼樣的綁定/擴展?
非常感謝!已更改反應值
你需要什麼叫做髒跟蹤。
有劫插件叫做KoLite其中包含一個骯髒的標誌實現(你可以看到它是如何工作的this article):
的使用非常簡單,你只需要你的obserables傳遞到ko.DirtyFlag
(此將返回計算觀察到的)方法:
var ViewModel = function() {
var self = this;
self.name = ko.observable('John');
self.dirtyFlag = new ko.DirtyFlag(self.name);
}
而且在你看來,你可以綁定到isDirty
財產上的dirtyFlag
:
<input type="text" data-bind="value: name, valueUpdate: 'keyup'"/>
<div data-bind="if: dirtyFlag().isDirty">
<button>Save</button>
</div>