【发布时间】:2014-06-13 18:17:38
【问题描述】:
我正在使用 ocModal 指令 + 服务 (https://github.com/ocombe/ocModal)。当有人想要删除一条记录时,他们点击删除按钮,该按钮通过 ocModal 弹出一个确认模式。
oc-modal-close ng-click="deleteNote(id)"
到目前为止一切顺利。在控制器中 deleteNote 运行。 Console.log 显示参数是我传递的 id。我调用一个 API 从我的数据库中删除笔记,并在成功调用一个函数从 Angular 变量 $scope.notes 中删除笔记。
$scope.removeNote = function(id){
console.log(id);
console.log($scope.notes);
delete $scope.notes[id];
console.log($scope.notes);
};
id 正确,删除命令后的 $scope.notes 显示它已正确删除。然而,我的前端没有相应的更新。根据我在 Stackover 上看到的建议,我使用了 apply(),这导致了“已在进行中的摘要循环”错误。然后我尝试使用 $timeout ,但是虽然它消除了摘要循环错误,但它并没有解决绑定问题。
ng-repeat 使用 $scope.notes 是否相关,然后使用指令?我做了一些实验,不这么认为,但以防万一想提一下。
【问题讨论】:
-
我建议你制作一个复制最少的 Plunker 或 JSFiddle