Supongamos que tengo un ViewModel con 100 accesorios. Actualmente necesito un solo controlador que se llamará si alguno de los accesorios cambia. Por supuesto, puedo escribir 100 .subscribe para cada propiedad, pero parece que hay una mejor manera. Al igual que en C#, donde puede enlazar al evento PropertyChanged del modelo, y luego elegir las propiedades de interés por sus nombres.knockoutjs: cómo recibir notificaciones para todas las propiedades una vez
Respuesta
La respuesta general es crear un dependObservable que se suscriba a todo. Esto se puede lograr fácilmente haciendo un ko.toJS(viewModel)
dentro de un dependiente dependiente, ya que desenvolverá recursivamente todos los observables. Deberá tener cuidado de no incluirse en la llamada ko.toJS
o puede entrar en un ciclo infinito.
Si buscas algo con un poco más de funcionalidad, échale un vistazo a este post.
Creo que estás usando KO 1.2.1. No es tan fácil en esta versión. Sin embargo, viene Knockout 1.3. Actualmente es beta, pero es bastante estable. La aceleración se ha implementado en Knockout 1.3. Creo que esto es lo que necesitas.
Se puede leer más sobre la versión 1.3 aquí: http://blog.stevensanderson.com/2011/08/31/knockout-1-3-0-beta-available/
y examinar la muestra en línea: http://jsfiddle.net/StevenSanderson/Rnmb2/1/
probablemente podría ayudarle con la aplicación en caso de que necesite un poco de ayuda.
Espero que sea exactamente lo que necesita.
Uso ko 1.3.0 beta, pero no veo cómo se correlaciona mi problema con la aceleración. –
- 1. iOS: cómo registrarse para recibir notificaciones push?
- 2. Recibir notificaciones push en PhoneGap para iOS
- 3. Reparar todas las tablas de una vez
- 4. ¿Cómo recibir notificaciones para eventos de tarjetas SD?
- 5. Obtención de JavaScript para todas las propiedades
- 6. NHIbernate: ¿atajo para proyectar todas las propiedades?
- 7. Obtener todas las propiedades para una clase de DBpedia
- 8. Android: reciba todas las notificaciones por código
- 9. ¿Cómo recibir notificaciones de una vista emergente en UINavigationController?
- 10. ¿Qué colección .Net para agregar múltiples objetos a la vez y recibir notificaciones?
- 11. ORMLite - CallBatchTasks() individualmente o una vez para todas las actualizaciones?
- 12. ¿Cómo recibir notificaciones cuando finaliza una construcción exitosa?
- 13. ¿Cómo recibir notificaciones cuando una ventana se enfoca en WPF?
- 14. Una declaración css para todas las propiedades de fuente css
- 15. ¿Reflejando todas las propiedades de una interfaz, incluidas las heredadas?
- 16. Cómo enumerar todas las propiedades de clase
- 17. ¿Cómo puedo recibir notificaciones cuando se visualice UIView?
- 18. Cómo recorrer todas las propiedades en una clase
- 19. ¿Cómo se suman todas las propiedades de una colección anidada?
- 20. ¿Cómo recorrer todas las propiedades de una clase?
- 21. ¿Cómo recibir notificaciones de Facebook en iPhone SDK?
- 22. Clase genérica a CSV (todas las propiedades)
- 23. ¿cómo recibir notificaciones de cambio de volumen de medios?
- 24. ¿Cómo recibir notificaciones automáticas de mi cuenta de Gmail?
- 25. ¿Listar todas las propiedades del objeto ventana?
- 26. Observando las propiedades de una matriz que se está observando en KnockoutJS
- 27. Notificaciones push de Apple: al registrarse para recibir notificaciones, no se reciben devoluciones de llamadas
- 28. NUnit - ¿Confirma para verificar que todas las propiedades sean iguales?
- 29. C#/WPF: PropertyChanged para todas las propiedades en ViewModel?
- 30. Groovy Listar todas las propiedades para la clase
Gracias, este artículo tiene buen sentido. ¿Conoces la forma en que puedo encontrar qué propiedad en particular ha desencadenado el cambio? –
Hacer el seguimiento de cambios es más complicado. Aquí hay una muestra de cómo podría funcionar: http://jsfiddle.net/rniemeyer/5bxLr/. La función "onPropertyChanged" podría personalizarse o alguien podría pasar allí. –