Pregunta

Yo tengo un observableArray en mi opinión modelo.Después de crear la máquina virtual, deseo reemplazar completamente los datos del observableArray.Así es como lo estoy haciendo:

//Initial Setup
var vm = {};
vm.roles = ko.observableArray([]);
ko.applyBindings(vm); 


//....replace array later on....
vm.roles(["1", "2"]);

Esto parece funcionar bien, pero me preocupaba si era incorrecto y podría provocar pérdidas de memoria.¿Alguien puede conformarse si esta es la forma preferida de actualizar un archivo existente? observableArray ¿Suponiendo que desea reemplazar todos sus datos?

Me di cuenta de observableArray tiene un removeAll() método y me pregunté si era necesario llamarlo para hacer esto limpiamente, o si estoy bien con lo que estoy haciendo.

¿Fue útil?

Solución

La técnica que está utilizando es el enfoque recomendado para reemplazar completamente los datos en un observableArray.Un observableArray en realidad es algo normal observable con funciones adicionales agregadas para operaciones útiles de matriz que actúan sobre la matriz subyacente y activan notificaciones.

Otros consejos

Descubrí que el enfoque recomendado no funciona en IE9 o versiones anteriores.En lugar de eso, recreé el objeto,

vm.roles = ko.observableArray(["1","2"])
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top