Как отправить новый объект, а также очистить $anchor.task?
-
22-09-2019 - |
Вопрос
Используя AngularJS ( Ангулярный интерфейс ) фреймворк, как у меня есть "Отправить кнопка "обновить текущую сущность, а также очистить идентификатор привязки - в основном я хочу быстро добавлять записи, но это всегда превращает мою форму добавления в форму редактирования.
Вот мой текущий div, который не работает, похоже, что он игнорирует $anchor.task=null
...
Обратите внимание, что "Добавить Новый"кнопка работает нормально!
<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>
Решение
Если вы хотите иметь быстрые добавления, вот что вам нужно изменить
Я предполагаю, что у вас есть:ng-entity="задача=Task" в вашем коде.Вам нужно изменить это на ng-entity="Task" это изменяет объявление таким образом, чтобы оно не было связано с привязкой.Видишь http://docs.getangular.com/Ng-entity для получения более подробной информации.Это также означает, что вам придется вручную создать экземпляр задачи в ng-init.
Затем в привязке сохранения вам нужно создать экземпляр Task document с параметрами по умолчанию для объекта task:Задача (task)
Чем вам нужно это сохранить:Задача (task).$save()
Наконец, вы хотите очистить форму, поэтому вам нужно сбросить значение объекта задачи на пустое.Это можно сделать только после сохранения объекта, поэтому вам необходимо включить обратный вызов метода $save():Задача (task).$сохранить( {:$root.задача={};} )
$root ссылается на корневую область, поскольку область внутри обратного вызова не совпадает с областью, в которой объявлена задача.
<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>