Để giúp bác bỏ giá trị ghi I sử dụng như sau:
- Tạo một ẩn quan sát lưu trữ giá trị.
- Trả lại mức có thể ghi có thể ghi dựa trên ẩn có thể quan sát được.
- Khi nội dung nào đó được ghi vào quan sát được tính, hãy xác thực nó trước khi chấp nhận.
tôi mở rộng Knockout với mã này:
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;
};
Sử dụng nó trong các đối tượng như thế này:
field = ko.conditionedObservable<number>(null, (v) => parseInt(v) > 0);
Đối với giải thích thêm kiểm tra blog Conditioning Knockout Observables: reject values tôi.
Nguồn
2017-09-07 17:32:45