Come presentare nuova entità così come chiara $ anchor.task?
-
22-09-2019 - |
Domanda
Uso della AngularJS quadro, come faccio ad avere il " Invia " pulsante sia aggiornare l'entità attuale e cancellare l'ID di ancoraggio - io fondamentalmente voglio fuoco rapido aggiungere voci, ma si scopre sempre la mia forma aggiuntivo in forma di modifica.
Ecco il mio div attuale, che non funziona, è come se fosse ignorando il $anchor.task=null
...
Si noti che il " Aggiungi nuovo " pulsante funziona bene!
<div>
Description: <input name="task.desc" ng-required><br>
<a href="#" ng-action="task.$save(); $anchor.task=null">Save</a>
<input type="button" value="Add New" ng-action="$anchor.task=null">
</div>
Soluzione
Se si desidera avere aggiunge veloce qui è ciò che è necessario modificare
Presumo che avere: NG-entità = "task = Task" nel codice. È necessario cambiare la situazione a ng-entità = "Task", questo cambia la dichiarazione in modo che non è associato con l'ancora. Vedere http://docs.getangular.com/Ng-entity per ulteriori dettagli. Questo significa anche che bisogna istanziare manualmente l'istanza dell'attività in ng-init.
Poi nel ancoraggio Save è necessario creare un'istanza di documento Task con i valori di default dell'oggetto compito: Task (task)
di quanto è necessario salvarlo:. Task (task) $ save ()
Infine si vuole cancellare il form quindi è necessario ripristinare l'oggetto compito di vuoto. Questo può essere fatto solo dopo che l'oggetto di risparmiare quindi è necessario includere un callback per il $ metodo save (): . Compito (task) $ salvare ({: $ root.task = {};})
$ radice riferisce a radicare portata come ambito all'interno del callback non è la stessa come ambito in cui è dichiarata compito.
<div ng-entity="Task" ng-init="task={}">
Description: <input name="task.desc" ng-required><br>
<a href="#" ng-action="Task(task).$save({: $root.task={} })">Save</a>
</div>