我遇到了 $rootScope.$broadcast 事件没有被触发的问题:
App.run(function($rootScope){
var text = 'Not So Static Now';
$rootScope.$broadcast('event:staticText', text);
}).$inject = ['$rootScope'];
App.controller('Ctrl1', function($scope, $rootScope) {
$scope.staticText = "Static Text";
var things = [
'AngularJS',
'StackOverflow',
'JSFiddle'
];
$scope.$emit('event:things', things);
$scope.$on('event:staticText', function(e, args){
$scope.staticText = args;
});
}).$inject = ['$scope', '$rootScope'];
上面应该将 {{staticText}} 输出更改为“Not so Static Now”,但事实并非如此。
我创建了一个 JSFiddle 来演示问题http://jsfiddle.net/flavrjosh/uXzTV/
这是我正在尝试调试的一个更大问题的一部分,其中 IE9 在页面刷新后没有触发事件(第一次工作但在刷新时 - F5 或刷新按钮没有任何反应)。
任何帮助/建议将不胜感激