我在控制器顶部有一个 $rootScope.$on 代码。我注意到每次我加载/调用这个控制器时,$rootScope.$on 监听器都会增加,这意味着它会在你访问控制器时无限期地添加和添加监听器。
当我从另一个控制器通过 $rootScope.$emit 调用它时,我注意到了它,$rootScope.$on 中的函数被执行了好几次,即使它只是一个单一的发射/广播。
$rootScope.$on('listen', function() {
$scope.displayString();
});
$scope.displayString = function() {
console.log('test'); // This display 7 times because I visit the controller 7 times
}
是否可以阻止它创建另一个侦听器实例,以便当已经有一个侦听器时,它不会创建一个新的侦听器。