sto usando la versione 2.0.0 KnockoutJSDeterminare se una proprietà dell'oggetto è ko.observable
Se sto scorrendo tutte le proprietà di un oggetto, come posso testare se ogni proprietà è un ko.observable
? Ecco cosa ho provato finora:
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);
}
Ma finora tutto è falso.
Grazie. Sai per caso se un osservabile è calcolato? Posso determinare se un osservabile è un array osservabile tramite '$ .isArray (vm [key]())', ma sai come distinguere gli osservabili da un 'ko.computed' ?? –
KO 2.1 che dovrebbe essere disponibile nelle prossime settimane includerà una funzione 'ko.isComputed'. Il codice sarebbe l'equivalente di ciò che ho aggiunto alla risposta sopra. –