angular $ scope。$ on无效

时间:2015-08-21 18:14:33

标签: javascript angularjs

我正在敲打我的脑袋。我的控制器结构是顶部的appController,然后是mapController。所有其他控制器都是嵌套的并且彼此平行。他们正在使用ui-router ui-view状态更改进行实例化。

在我的地图控制器中,我有一个函数

$scope.$broadcast('selectedIdsForExport', selectedIds);
这是有效的。 $ on函数位于一个刚刚通过状态更改实例化的chartController中。

$scope.$on('selectedIdsForExport', function (event, selectedIds) {

这是受到广播的影响。但它没有进入函数。它跳过它。这是我迷路的地方。我确实在$ watch函数中有这个$ on函数,我认为这可能是一个问题,但如果它是一个问题,$ on函数不会被命中?我错了吗?

我怎么能麻烦拍这个?

请注意,在我的mapController中我有2个函数,它们都具有相同的$ broadcast函数。这应该不是问题吗?我也有两个具有相同$ on函数的chartControllers。但是,如果这是一个问题,断点将不会捕获我试图进入的$ on函数。那是对的吗?  这里有一些可能有用的截图。在我的页面加载/刷新这是模式。这工作正常 pic1

当我点击选项卡切换图表时,这就是模式。 pic2

这是它跳过$ on on function

的地方

1 个答案:

答案 0 :(得分:1)

我认为这是父母和孩子优先调用$ on和$ broadcast的问题。

请阅读以下stackoverflow问题。

Working with $scope.$emit and .$on