我正在使用Typescript和KnockoutJs。我试图让发送者获得淘汰计算功能。基本上我有两个控件,如果控件的值中的任何一个被更改,那么将调用我的knockout可计算,
self.userValue = ko.computed(() => {
if(self.control1.value())
{
}
if(self.control2.value())
{
}
});
无论何时控件的值发生变化,它都能正常工作。但我需要知道由于哪个控件(在两个中)值的变化,使得可计算的被调用。我已经检查了ko.computable等属性的任何发件人,但没有用。请指导我。
答案 0 :(得分:0)
您可以使用订阅并使用共享代码调用函数:
function update(sender, newVal) {
// some shared logic
}
self.control1.value.subscribe((newVal) => {
// you can add here some specific logic for control1
update(self.control1, newVal); // may be pass some additional params
});
self.control2.value.subscribe((newVal) => {
// you can add here some specific logic for control2
update(self.control2, newVal); // may be pass some additional params
});