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>
È stato utile?

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>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top