鉴于任何淘汰赛示例,我希望能够识别可观察更新的来源。
例如考虑这个简单的代码:
HTML
<input type='text' data-bind='value: someValue' />
<span data-bind='text: someValue'></span>
<button data-bind='click: updateValue'>Update</button>
JS
var vm = function () {
var self = this;
this.someValue = ko.observable('random value');
this.updateValue = function () {
self.someValue('random value ' + Math.round(Math.random()*10));
}
}
var vmi = new vm();
vmi.someValue('other random value');
ko.applyBindings(vmi);
我想通过输入标签,按钮或代码了解someValue
是否上次更新。
您认为最佳方式这样做会是什么? (扩展程序,自定义绑定处理程序,...)
答案 0 :(得分:5)
为每个要修改的内容创建单独的“可写计算可观察量”。见http://knockoutjs.com/documentation/computedObservables.html#writeable_computed_observables。在每种方法的write
方法中,您可以根据需要处理它们之间的区分/协调/同步。如果您描述了实际情况,可能会有更好的解决方案。