Tôi đang sử dụng phiên bản 2.0.0 KnockoutJSXác định nếu một tài sản đối tượng là ko.observable
Nếu tôi lặp qua tất cả các thuộc tính của một đối tượng, làm sao tôi có thể kiểm tra xem mỗi tài sản là một ko.observable
? Dưới đây là những gì tôi đã thử cho đến thời điểm này:
var vm = {
prop: ko.observable(''),
arr: ko.observableArray([]),
func: ko.computed(function(){
return this.prop + " computed";
}, vm)
};
for (var key in vm) {
console.log(key,
vm[key].constructor === ko.observable,
vm[key] instanceof ko.observable);
}
Nhưng cho đến nay mọi thứ đều sai.
Cảm ơn bạn. Bạn có cơ hội biết làm thế nào để cho biết nếu một quan sát được tính toán? Tôi có thể xác định nếu một quan sát là một mảng quan sát thông qua '$ .isArray (vm [key]())', nhưng bạn có biết làm thế nào để phân biệt các quan sát từ một 'ko.computed' ?? –
KO 2.1 sẽ xuất hiện trong vài tuần tới sẽ bao gồm chức năng 'ko.isComputed'. Mã sẽ tương đương với những gì tôi đã thêm vào câu trả lời ở trên. –