[AngularJS] Using the Angular scope $destroy event and method
With Angular scopes, you have access to a $destroy
event that can be used to watch $scope events. This is used for cleanup, and gives you a final opportunity to access any data on a scope. Scopes also have a (rarely used) $destroy
method that allows you to manually destroy a scope.
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.css"/> <script src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.18/angular.js"></script> <script src="app.js"></script> </head> <body ng-app="demo" ng-init="isToggled = true"> <div ng-if="isToggled"> <div ng-controller="MyCtrl as my"> Simple Form <input type="text" ng-model="my.person.firstName"/> <input type="text" ng-model="my.person.lastName"/> Welcome, {{ my.person.firstName }} {{ my.person.lastName }} <button ng-click="my.click()">Toggle</button> </div> <my-directive></my-directive> </div> <hr/> </body> </html>
angular.module("demo", []) .factory("person", function () { return { firstName: "John", lastName: "Lindquist" } }) .controller("MyCtrl", function ($scope, person) { var my = this; my.person = person; my.click = function () { $scope.$destroy(); } }) .directive("myDirective", function () { return { restrict: "E", scope: {}, template: "<div style='border: 1px solid black'>My Directive</div>", link: function (scope) { scope.$on("$destroy", function () { console.log("directive destroy"); }) } } })
When you toggle ng-if, actually it triggle $scope.$destory.
Once $destory() is triggered, scope is destoried, no event and binding to the scope any more.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具