你可以尝试使用$scope.$on()
吗?每次创建控制器A时,它都会 在根作用域上 添加一个新的侦听器,并且在您前后导航时不会被破坏。如果在控制器的本地范围内执行此操作,则在您离开时监听器应被删除,并且范围将被破坏。
// controller A
$scope.$on("myEventFire", function(event, reload) {
someAction();
});
$broadcast
将事件向下发送到所有子范围,因此应在您本地的范围内进行接收。 $emit
以另一种方式冒泡到根范围。