可以说我有name = ko.observable('John')
绑定到input
as 值。<button>Save</button>
如果name
更改,我需要显示(之前隐藏) 。因此,如果我编辑名称John
,Jack
然后保存按钮应该出现,如果编辑回John
它应该再次隐藏。你有什么想法可以在这里应用什么样的绑定/扩展?
太谢谢了!
问问题
182 次
1 回答
3
您需要的称为脏跟踪。
有一个名为KoLite的 ko 插件,其中包含一个脏标志实现(您可以在本文中了解它的工作原理):
用法非常简单,您只需要将 obserables 传递给ko.DirtyFlag
(这将返回计算的 observable)方法:
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>
于 2012-11-10T13:05:08.853 回答