http://plnkr.co/edit/UfQJU661pQR0DMY3c61t?p=previewAngularjs銷燬工作不
我上面的代碼中得到了AngularJs網站和唯一的事情我添加了一個按鈕來刪除一個DIV,我們有控制器,但是之後刪除不破壞方法被稱爲我已經指令放警報和控制器。
element.on('$destroy', function() {
alert('destroy directive interval');
$interval.cancel(stopTime);
});
和
$scope.$on('$destroy', function() {
alert('destroy controller interval');
// Make sure that the interval is destroyed too
$scope.stopFight();
});
請建議。
謝謝
你不覺得嗎? Angular應該在場景後面添加監視器,因爲Angular知道我們要添加控制器或指令的元素是什麼。 – 2015-04-04 12:50:22
跟蹤所有DOM元素將變得非常忙碌。已經有很多關於angular的$ digest循環的爭論,因爲它降低了角度的性能。這就是Angular 2.0的原因,他們用ES6觀察屬性完全重寫摘要循環。如果angular必須跟蹤所有的DOM $ destroy事件,那麼這將是一個性能問題。但是當路線改變時它會發生。就你而言,你已經手動刪除了DOM元素,所以它不知道它,因爲範圍仍然有效。 – mohamedrias 2015-04-04 12:56:08