我有一个用 AngularJS 构建的简单应用程序:
var App = angular.module('myApp', [], function($window) {
// settings..
}).run(function($rootScope){
$(window).on('resize', function(event) {
$rootScope.$broadcast('windowResize',{
height: event.target.innerHeight,
width: event.target.innerWidth
});
});
});
我有一个panel
带有以下控制器的指令:
function($scope, $element) {
var
$title = $element.find('.panel-title'),
$content = $element.find('.panel-content'),
margin = 20
;
$content
.height($(window).height() - $title.height() - margin);
$scope.$on('windowResize', function(obj) {
var height = obj.height - $title.height() - margin;
$content.height(height);
});
}
一切都在第一次完美运行。但是,当控制器更改时,我会遇到类似TypeError: Cannot read property '$$childHead' of null
的问题,但我会收到错误消息。
问题出在$scope.$on
. 如何在销毁 $scope 之前删除它(当控制器更改时)?