有人能提供一个scope的$destroy事件的例子吗?以下是来自http://docs.angularjs.org/api/ng.$rootScope.Scope#$destroy的参考文档
$destroy()
从父作用域移除当前作用域(及其所有子作用域)。删除意味着对$digest()的调用将不再传播到当前作用域及其子对象。删除还意味着当前作用域有资格进行垃圾收集。
ngRepeat等指令通常使用$destroy()来管理循环的展开。
就在作用域被销毁之前,在这个作用域上广播了一个$destroy事件。应用程序代码可以注册一个$destroy事件处理程序,这将使它有机会执行任何必要的清理。
发布于 2013-01-20 01:30:43
演示: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);
});
};
});
发布于 2015-10-01 02:04:15
$destroy
可以指两件事:方法和事件
1. method - $scope.$destroy
.directive("colorTag", function(){
return {
restrict: "A",
scope: {
value: "=colorTag"
},
link: function (scope, element, attrs) {
var colors = new App.Colors();
element.css("background-color", stringToColor(scope.value));
element.css("color", contrastColor(scope.value));
// Destroy scope, because it's no longer needed.
scope.$destroy();
}
};
})
2. event - $scope.$on("$destroy")
https://stackoverflow.com/questions/14416894
复制相似问题