我正在编写一些代码并意识到 angularjs1.5+ 组件实际上并没有接收到$scope.$broadcast
事件,这意味着$scope.$on
永远不会在组件控制器功能中运行。
虽然我能够$emit
从组件控制器接收事件并由父控制器接收$on
,但它只是不监听广播事件。
来自家长的广播:$scope.$broadcast('parentEvnt', [1,2,3]);
但未在组件中收到:$scope.$on('parentEvnt', function(event, data){ \\
我创建了这个plunker来显示这个问题。
搜索了一些文章以及关于 SO 的文章,但没有找到任何答案,并且尝试过$rootScope.$broadcast
也没有帮助。
并且,如果不可能,那么从应用程序中的任何随机位置通知组件的最佳方式是什么?