Supponiamo di voler eseguire qualcosa come eseguire automaticamente del codice (come il salvataggio dei dati su un server) ogni volta che i valori di un modello cambiano. È l'unico modo per farlo impostando qualcosa come ng-change
su ogni controllo che potrebbe alterare il modello?AngularJS: rileva automaticamente la modifica nel modello
Cioè, con le viste, le cose cambiano quando il modello viene cambiato senza dover agganciare esplicitamente qualcosa. Esiste un analogo per poter eseguire il codice che salva su un server? Qualcosa come
myModel.on('change', function() {
$.post("/my-url", ...);
});
come si potrebbe vedere con qualcosa come backbone.
Ah, fantastico! C'è qualche ragione per cui questo non sembra essere tutto ciò che è documentato (cioè, non penso che nessuno dei tutorial sul sito angolare menziona l'impostazione di $ orologi direttamente)? C'è qualcosa di negativo in questo aspetto che renderebbe l'idea di impostare (potenzialmente più) ganci "ng-change" su input per una migliore idea? – Alec
Sì, sarebbe bello se il tutorial principale menzionasse $ guardare da qualche parte.Ciò che è "cattivo" in questo approccio è che può richiedere molto tempo se il tuo modello è di grandi dimensioni (ogni ciclo di digestione - ogni sequenza di tasti in un campo di input) risulterà in questo modello sottoposto a controllo approfondito, forse più volte) . In tal caso, selettivi $ watch() o ng-change selettivi sarebbero migliori. –