有人可以提供范围的$ destroy事件的示例吗?以下是http://docs.angularjs.org/api/ng.$rootScope.Scope#$destroy
的参考文档$破坏()
从父级移除当前范围(及其所有子级) 范围。删除意味着不再调用$ digest() 传播到当前范围及其子级。删除也意味着 当前范围符合垃圾收集条件。
$ destroy()通常由诸如ngRepeat for之类的指令使用 管理循环的展开。
在范围被销毁之前,广播了一个$ destroy事件 这个范围。应用程序代码可以注册$ destroy事件处理程序 这将使它有机会进行任何必要的清理。
答案 0 :(得分:103)
演示:http://jsfiddle.net/sunnycpp/u4vjR/2/
我在这里创建了 handle-destroy 指令。
ctrl.directive('handleDestroy', function() {
return function(scope, tElement, attributes) {
scope.$on('$destroy', function() {
alert("In destroy of:" + scope.todo.text);
});
};
});
答案 1 :(得分:19)
Figure
可以引用两件事:方法和事件
$destroy