我有两个简单的可观察对象,例如,
val1 = ko.observable("input1");
val2 = ko.observable("input2");
我希望他们表现得像一个人,所以当其中一个发生变化时,另一个也会发生变化。
我知道在一般情况下最好只使用一个 observable 并将其绑定到几个 dom 元素。但就我而言,这些可观察对象存在于不同的模板和对象中,因此它们不能是一个变量。
目前我订阅一个可观察到另一个,反之亦然:
val1.subscribe(function(v) {
val2(v);
});
val2.subscribe(function(v) {
val1(v);
});
但是,当您更改一个 observable 的值时,它会更新第二个,但这会导致连锁反应并再次无限更新第一个。
如何在两个单独的 observable 之间设置双向绑定,当您修改另一个时设置一个的值而不导致无限循环?