Supponiamo di avere un ViewModel con 100 oggetti di scena. Attualmente ho bisogno di un gestore che verrà chiamato se uno dei puntelli cambia. Ovviamente posso scrivere 100 sottoscrizioni per ogni proprietà, ma sembra che ci sia un modo migliore. Come in C#, dove è possibile associare l'evento PropertyChanged del modello e quindi scegliere le proprietà di interesse in base al loro nome.knockoutjs: come ottenere notications per tutte le proprietà una volta
risposta
La risposta generale è creare un dipendente dipendente che si abboni a tutto. Questo può essere facilmente eseguito facendo un ko.toJS(viewModel)
all'interno di un oggetto dipendente dipendente, poiché scatterà ricorsivamente tutti gli oggetti osservabili. Dovrai fare attenzione a non includerti nella chiamata ko.toJS
o puoi entrare in un ciclo infinito.
Se stai cercando qualcosa con un po 'più di funzionalità, dai un'occhiata a questo post.
Penso che tu stia usando KO 1.2.1. Non è così facile in questa versione. Tuttavia Knockout 1.3 sta arrivando. Attualmente è beta ma è piuttosto stabile. Throttling è stato implementato in Knockout 1.3. Penso che questo sia ciò di cui hai bisogno.
Si potrebbe leggere di più su 1,3 versione qui: http://blog.stevensanderson.com/2011/08/31/knockout-1-3-0-beta-available/
ed esaminare campioni on-line: http://jsfiddle.net/StevenSanderson/Rnmb2/1/
probabilmente potrebbe aiutare con l'attuazione nel caso in cui avete bisogno di qualche aiuto.
Spero che sia esattamente quello di cui hai bisogno.
Io uso ko 1.3.0 beta, ma non vedo come il mio problema sia correlato alla limitazione. –
- 1. requestAccessToEntityType - una volta o tutte le volte?
- 2. Ottenere una coda senza fornire tutte le sue proprietà
- 3. Come ottenere tutte le femmine?
- 4. come ottenere le dimensioni dello schermo di Android a livello di programmazione, una volta per tutte?
- 5. Come minimizzare tutte le stored procedure SQL in una volta
- 6. Come ricaricare tutte le finestre vim in una sola volta?
- 7. Come cancellare correttamente tutte le notifiche una volta cliccato?
- 8. Rhino: come ottenere tutte le proprietà da ScriptableObject?
- 9. Utilizzo del prototipo per proprietà calcolate KnockoutJS
- 10. Una dichiarazione CSS per tutte le proprietà dei font css
- 11. Ottenere tutte le istanze di una classe
- 12. Annulla tutte le richieste di aggiornamento in una sola volta?
- 13. Come elencare tutte le proprietà di classe
- 14. Importa tutte le importazioni in eclissi in una sola volta?
- 15. Come ottenere le proprietà di una classe in WinRT
- 16. Come ottenere tutte le proprietà statiche ei suoi valori di una classe utilizzando la riflessione
- 17. Objective- C: looping attraverso tutte le proprietà in una classe?
- 18. come ottenere un elenco di tutte le proprietà estese per tutti gli oggetti
- 19. Visualizzazioni indicizzate e join di sinistra una volta per tutte
- 20. Ottenere tutte le classi interne per riflessione
- 21. Come posso nascondere tutte le Serie in highcharts alla volta
- 22. Java: come ottenere ricorsivamente tutte le sottodirectory?
- 23. Come ottenere tutte le caselle selezionate da una FormCollection
- 24. Prolog: come ottenere tutte le combinazioni
- 25. Active Directory Visualizza tutte le proprietà in una tabella
- 26. ComponentSerializationService non deserializzazione tutte le proprietà
- 27. come ottenere tutte le sottoclassi di una classe in php
- 28. Come ottenere file in una directory, comprese tutte le sottodirectory
- 29. Powershell: colorazione corretta dell'output Get-Childitem una volta per tutte
- 30. Come ottenere tutte le partite dalla regex?
Grazie, questo articolo ha un buon senso. Sai come posso scoprire quale particolare proprietà ha attivato la modifica? –
Fare il rilevamento delle modifiche è più complicato. Ecco un esempio di come potrebbe funzionare: http://jsfiddle.net/rniemeyer/5bxLr/. La funzione "onPropertyChanged" potrebbe essere personalizzata o qualcuno potrebbe passare lì. –