如何提交新实体以及清除$ anchor.task?

Epa*_*aga 5 javascript web-applications angularjs

使用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>
Run Code Online (Sandbox Code Playgroud)

Mis*_*ery 4

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

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

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

比你需要保存它: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>
Run Code Online (Sandbox Code Playgroud)