【发布时间】:2013-03-05 10:35:01
【问题描述】:
我正在尝试编写一个函数,使我能够在单击按钮时删除一个项目,但我认为我对该函数感到困惑 - 我是否使用 $digest?
HTML 和 app.js:
<ul ng-repeat="bday in bdays">
<li>
<span ng-hide="editing" ng-click="editing = true">{{bday.name}} | {{bday.date}}</span>
<form ng-show="editing" ng-submit="editing = false">
<label>Name:</label>
<input type="text" ng-model="bday.name" placeholder="Name" ng-required/>
<label>Date:</label>
<input type="date" ng-model="bday.date" placeholder="Date" ng-required/>
<br/>
<button class="btn" type="submit">Save</button>
<a class="btn" ng-click="remove()">Delete</a>
</form>
</li>
</ul>
$scope.remove = function(){
$scope.newBirthday = $scope.$digest();
};
【问题讨论】:
-
您不需要 $digest,因为它用于进入 Angular 的摘要循环(并且由于 ng-click,您已经处于摘要循环中)。您是否尝试从数组中删除项目?
-
@MarkRajcok :) 是的,这就是我想要做的
-
remove()inng-click你拥有它的方式没有上下文。需要在标记中提供更多详细信息以显示要删除的内容以及它是否在ng-repeat内,或者要删除的项目来自哪里,或者您希望remove()的行为是什么 -
@charlietfl 它在 ng-repeat 我已经更新了问题