5

使用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>
4

1 回答 1

4

如果你想快速添加这里是你需要改变的

我假设您的代码中有: ng-entity="task=Task" 。您需要将其更改为 ng-entity="Task" 这会更改声明,使其不与锚相关联。有关详细信息,请参阅http://docs.getangular.com/Ng-entity 。这也意味着您必须在 ng-init 中手动实例化任务实例。

然后在保存锚点中,您需要使用任务对象的默认值实例化任务文档:任务(任务)

比你需要保存它:Task(task).$save()

最后,您要清除表单,因此您需要将任务对象重置为空白。这只能在对象保存后完成,因此您需要包含对 $save() 方法的回调: Task(task).$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>
于 2009-10-20T03:35:54.747 回答