我需要使用淘汰赛绑定表格,并且如果新值高于或低于前一个值,我希望表格单元格获得不同的 css 类。
我想到了不同的可能性,例如将先前的值存储在绑定上下文中并具有返回正确类的函数,但是是否可以添加一个接收先前值和新值的自定义绑定处理程序?
虽然Jeff https://stackoverflow.com/users/390278/jeff-mercado's and Sławomir https://stackoverflow.com/users/540884/slawomir-rosiek的答案是可行的,我找到了一种替代方案,不需要对视图模型进行任何更改,也不依赖于更改 DOM 元素对象。
function subscribeToPreviousValue(observable, fn) {
observable.subscribe(fn, this, 'beforeChange');
}
ko.bindingHandlers['bindingWithPrevValue'] = {
init: function (element, valueAccessor) {
var observable = valueAccessor();
var current = observable();
console.log('initial value is', current);
subscribeToPreviousValue(observable, function (previous) {
console.log('value changed from', previous, 'to', current);
});
}
};
当然,只有当绑定属性是可观察的时,这才有效。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)