我在AngularJS上有一个Web应用程序。我在IE9浏览器中面临广播和接收事件的问题。在其他浏览器中它工作正常。我的问题场景是,我有2个控制器。一个是父控制器,另一个是子控制器。我正在从父控制器广播这个事件
$scope.$broadcast('MyBroadcastEvent');
在子控制器上,我正在处理这样的事件
$scope.$on('MyBroadcastEvent', function(event, args) {
console.log("Event Handled");
});
但是子控制器没有在IE9中收到该事件。我已经尝试使用$ timeout来传递超时时间并且没有像下面那样传递超时时间但是子控制器仍然没有收到事件。
$timeout(function() {
$scope.$broadcast('MyBroadcastEvent');
});
和
$timeout(function() {
$scope.$broadcast('MyBroadcastEvent');
}, 1100);
我找到了以下发送和接收事件的替代方法,但不确定它们是否适用于IE9。
http://jonathancreamer.com/an-angular-event-bus-with-postal-js/
https://github.com/jseppi/angular-queue
请在IE9中建议解决此问题的任何解决方法,或建议在子控制器上接收事件的任何替代方法。提前谢谢。