## angularJS中$scope刪除監(jiān)聽事件的操作
在一個(gè)`controller`代碼塊被釋放掉的時(shí)候,我們通常要將一些監(jiān)聽的事件同時(shí)釋放掉
正常的`$scope`是不需要我們來維護(hù)的
但是當(dāng)我們對(duì)`$rootScope`進(jìn)行監(jiān)聽的時(shí)候,類似的全局變量或者說在其他地方依然有引用的變量是不會(huì)被釋放掉的,而我們?cè)赾ontroller中對(duì)`$rootScope`做對(duì)應(yīng)的事件監(jiān)聽,比如說`stateChange`等,每次`controller`初始化都要監(jiān)聽一次。
刪除監(jiān)聽的做法是,在`$rootScope.on`方法上,接受它的返回值(是一個(gè)function),當(dāng)`scope`將要`destroy`的時(shí)候,將返回的函數(shù)執(zhí)行一邊,然后把對(duì)應(yīng)的引用同時(shí)刪掉即可
類似代碼如下:
```js
var listener = $rootScope.$on('$stateChangeSuccess',function(event, toState, toParams, fromState, fromParams){
......
});
$scope.$on('$destroy',function() {
listener();
listener = null;
})
```
- 步入JavaScript的世界
- 二進(jìn)制運(yùn)算
- JavaScript 的版本是怎么回事?
- JavaScript和DOM的產(chǎn)生與發(fā)展
- DOM事件處理
- js的并行加載與順序執(zhí)行
- 正則表達(dá)式
- 當(dāng)遇上this時(shí)
- Javascript中apply、call、bind
- JavaScript的編譯過程與運(yùn)行機(jī)制
- 執(zhí)行上下文(Execution Context)
- javascript 作用域
- 分組中的函數(shù)表達(dá)式
- JS之constructor屬性
- Javascript 按位取反運(yùn)算符 (~)
- EvenLoop 事件循環(huán)
- 異步編程
- JavaScript的九個(gè)思維導(dǎo)圖
- JavaScript奇淫技巧
- JavaScript:shim和polyfill
- ===值得關(guān)注的庫===
- ==文章==
- JavaScript框架
- Angular 1.x
- 啟動(dòng)引導(dǎo)過程
- $scope作用域
- $q與promise
- ngRoute 和 ui-router
- 雙向數(shù)據(jù)綁定
- 規(guī)范和性能優(yōu)化
- 自定義指令
- Angular 事件
- lodash
- Test
