Tôi đang gặp sự cố khi thêm bộ mở rộng loại trực tiếp vào các quan sát sau khi chúng được tạo. Trong ví dụ sau, trình mở rộng được chạy trên foo
mỗi khi giá trị thay đổi như mong đợi nhưng chỉ một lần, khi được gọi đầu tiên, cho bar
.Áp dụng bộ mở rộng loại bỏ sau khi ánh xạ
var viewModel = function(){
var self = this;
self.foo = ko.observable(1).extend({ numeric: 1 });
self.bar = ko.observable(1);
self.bar.extend({ numeric: 1 });
};
Về bản chất tôi đang ánh xạ một đối tượng JSON lớn và muốn thêm bộ mở rộng sau khi ánh xạ xảy ra với một số thuộc tính. Có một cách đơn giản để làm điều này?
Dưới đây là một jsfiddle cho thấy vấn đề:
Giải pháp này không phản ứng trên mẫu tái render cho phụ quan sát. Hãy thử http://knockoutjs.com/documentation/extenders.html Ví dụ trực tiếp này 2. – hawk
Tôi không biết ý của bạn là gì. OP và tôi dựa trên mã của chúng tôi trong cùng một 'ko.extenders.numeric' được đăng trên trang tài liệu đó. Xin vui lòng gửi một câu trả lời mới nếu cách tiếp cận của bạn là đáng kể khác với tôi. –
Có lẽ tôi hiểu nhầm điều gì đó nhưng điều này không hoạt động như mong đợi, hãy kiểm tra http://jsfiddle.net/BqXed/ – hawk