使用AngularJS框架,我如何使用“提交”按钮更新当前实体以及清除锚ID - 我基本上想要快速添加条目,但它总是将我的添加表单变成编辑表单。
这是我当前的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>
答案 0 :(得分:4)
如果您想快速添加,则需要更改
我假设你的代码中有:ng-entity =“task = Task”。您需要将其更改为ng-entity =“Task”,这会更改声明,使其与锚点无关。有关详细信息,请参阅http://docs.getangular.com/Ng-entity。这也意味着您必须在ng-init中手动实例化任务实例。
然后在Save anchor中,您需要使用任务对象的默认值来实例化Task文档:Task(task)
比你需要保存它:任务(任务)。$ 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>