Question

Utilisation du AngularJS cadre, comment dois-je le " Envoyer " touche à la fois mettre à jour l'entité actuelle ainsi que d'effacer les ID d'ancrage - Je veux essentiellement à feu rapide ajouter des entrées, mais il tourne toujours ma forme d'ajouter dans une forme d'édition.

Voici mon div actuel qui ne fonctionne pas, il est comme ça en ignorant le $anchor.task=null ...

Notez que la " Ajouter un nouveau bouton" fonctionne très bien!

<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>
Était-ce utile?

La solution

Si vous voulez avoir ajoute rapidement voici ce que vous devez changer

Je suppose que vous avez: ng entité = "task = tâche" dans votre code. Vous devez changer pour que ng entité = « Tâche » cela change la déclaration afin qu'il ne soit pas associé à l'ancre. Voir http://docs.getangular.com/Ng-entity pour plus de détails. Cela signifie également que vous devez instancier manuellement l'instance de tâche en ng-init.

Ensuite, dans l'ancre Enregistrer vous devez instancier le document de travail avec les paramètres par défaut de l'objet de la tâche: la tâche (tâche)

Que vous devez l'enregistrer. Tâche (tâche) sauver $ ()

Enfin, vous voulez effacer le formulaire afin que vous devez réinitialiser l'objet de la tâche à blanc. Cela ne peut se faire après que l'objet permet d'économiser de sorte que vous devez inclure un rappel à la méthode save () $: . Tâche (tâche) enregistrer $ ({: $ root.task = {};})

$ root fait référence à la portée racine que le champ à l'intérieur du rappel est pas le même que le champ où la tâche est déclarée.

<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>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top