2009-10-19 2 views
5

Использование рамки AngularJS, как у меня есть кнопка «Submit», как обновляет текущую сущность, так и очищает идентификатор привязки - я в основном хочу добавлять записи быстрого запуска, но всегда меняет форму добавления в редактировать форму. Кнопка

Вот мой текущий DIV, который не работает, это как это игнорирование $anchor.task=null ...

Обратите внимание, что «Add New» работает отлично!

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

ответ

4

Если вы хотите, чтобы быстро добавляет здесь то, что вам нужно изменить

Я предполагаю, что у вас есть: нг-объект = «Задача = Task» в вашем коде. Вам нужно изменить это на ng-entity = «Задача», это изменяет объявление так, что оно не связано с якорем. См. http://docs.getangular.com/Ng-entity для более подробной информации. Это также означает, что вам нужно вручную создать экземпляр задачи в ng-init.

Затем в Save анкера необходимо создать экземпляр документа задач с параметрами по умолчанию объекта задачи: Задача (задачи)

Чем вам нужно сохранить его:. Задача (задачи) $ сохранить()

Наконец, вы хотите очистить форму, поэтому вам нужно сбросить объект задачи до пустого. Это можно сделать только после сохранения объекта, поэтому вам нужно включить обратный вызов метода $ save(): Задача (задача). $ Save ({: $ root.task = {};})

$ 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> 
Смежные вопросы