Frage Wie man neue Entity einreicht sowie $ anchor.task löscht?


Verwendung der AngularJS Rahmen, wie habe ich die "einreichen"button aktualisiert sowohl die aktuelle Entität als auch die Anker-ID. Ich möchte im Prinzip schnell Einträge hinzufügen, aber es verwandelt mein add-Formular immer in ein Bearbeitungsformular.

Hier ist mein aktuelles div, das nicht funktioniert, es ist so, als ignoriere es das $anchor.task=null...

Notiere dass der "Neue hinzufügen"Button funktioniert gut!

<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>

5
2017-10-19 11:41


Ursprung


Antworten:


Wenn Sie schnelle Ergänzungen haben möchten, müssen Sie das ändern

Ich nehme an, Sie haben: ng-entity = "task = Task" in Ihrem Code. Sie müssen dies in ng-entity = "Task" ändern. Dadurch wird die Deklaration so geändert, dass sie nicht mit dem Anker verknüpft ist. Sehen http://docs.getangular.com/Ng-Entity für mehr Details. Dies bedeutet auch, dass Sie die Aufgabeninstanz in ng-init manuell instanziieren müssen.

Dann müssen Sie im Anker speichern Task-Dokument mit den Standardeinstellungen des Task-Objekts instanziieren: Task (Task)

Dann müssen Sie es speichern: Aufgabe (Aufgabe). $ Save ()

Schließlich möchten Sie das Formular löschen, so dass Sie das Aufgabenobjekt auf leer zurücksetzen müssen. Dies ist nur möglich, nachdem das Objekt gespeichert wurde. Sie müssen daher einen Rückruf an die $ save () -Methode einfügen: Aufgabe (Aufgabe). $ Save ({: $ root.task = {};})

$ root bezieht sich auf den root-Bereich, da der Bereich innerhalb des Callbacks nicht mit dem Bereich identisch ist, in dem der Task deklariert ist.

<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>

4
2017-10-20 03:35