Mat*_*don 3 javascript overloading knockout.js
是否可以在可观察量上重载setter以防止在某些情况下设置其值?假设在设置observable之前将触发的函数,如下所示:
function(value) {
if (value === 'ok') {
proceed; //set value of observable
} else {
break; //do not set observable
}
}
Run Code Online (Sandbox Code Playgroud)
我想它可以通过使用订阅来实现,但我不完全清楚如何.
不是说我正在使用淘汰赛3.0.
您可以使用可写的计算可观测与read和write功能:
var _prop = ko.observable();
var prop = ko.computed({
read: function() {
return _prop();
},
write: function(value ) {
if (value === 'ok') {
_prop(value); //set value of observable
}
// else do not set observable
}
});
Run Code Online (Sandbox Code Playgroud)