angualrJS中,$rootScope向下广播传值为什么会失败?

业务逻辑:我需要在两个同级(不存在父子关系)的controller之间传值。采用$rootScope向下广播,再在子Scope中$on接收,代码如下:
图片描述
alert 成功接收到a的值

图片描述
失败,控制台打印不出来data

这种方式却失败了,之后采用$scope向上传递,再用$rootScope接收,成功。
图片描述

图片描述

请问第一种方式为什么会失败?他和第二种难道不一样么?

阅读 4k
3 个回答

确实是 ionic 就不用补了。。。我大概知道什么情况了。

$state.go('xxxxxx') 改成 $ionicHistory.goBack()

记得 inject $ionicHistory

angular 的$broadcast和$emit父级和子级只的是controller,而不是$scope和$rootScope。第一个的controller中,你把$on放在$rootScope上应该就能接收到数据了。现在的状态$rootScope并不能访问$scope.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题