मदद करने के लिए लिखने के मूल्यों को अस्वीकार मैं निम्नलिखित प्रयोग किया है:
- बनाएँ नमूदार छिपा हुआ जो मूल्य को स्टोर करता है।
- छिपे हुए अवलोकन योग्य के आधार पर एक लिखने योग्य गणना योग्य अवलोकन योग्य लौटें।
- जब गणना किए गए अवलोकन करने योग्य कुछ लिखा जाता है, तो इसे स्वीकार करने से पहले इसे सत्यापित करें।
मैं इस कोड के साथ नॉकआउट बढ़ाया:
ko.conditionedObservable = function (initialValue, condition) {
var obi = ko.observable(initialValue);
var computer = ko.computed({
read: function() { return obi(); },
write: function (newValue) {
//unwrap value - just to be sure
var v = ko.unwrap(newValue);
//check condition
if (condition(v)) {
//set it to the observable
obi(v);
}
else {
//reset the value
computer.notifySubscribers();
}
}
});
return computer;
};
इस तरह वस्तु में यह प्रयोग करें:
field = ko.conditionedObservable<number>(null, (v) => parseInt(v) > 0);
अधिक विवरण के लिए मेरी Conditioning Knockout Observables: reject values ब्लॉग की जाँच करें।
स्रोत
2017-09-07 17:32:45