Я использую KnockoutJS версии 2.0.0Определить, если свойство объекта является ko.observable
Если я цикл через все свойства объекта, как я могу проверить, является ли каждое свойство является ko.observable
? Вот что я пробовал до сих пор:
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);
}
Но пока все неверно.
спасибо. Вы случайно знаете, как определить, вычисляется ли наблюдаемое? Я могу определить, является ли наблюдаемый наблюдаемым массивом через $ .isArray (vm [key]()) ', но знаете ли вы, как отличать наблюдаемые от' ko.computed' ?? –
KO 2.1, который должен быть в течение следующих нескольких недель, будет включать функцию 'ko.isComputed'. Код будет эквивалентен тому, что я добавил в ответ выше. –