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

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

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

alert 成功接收到a的值


失败,控制台打印不出来data

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

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


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


没道理啊,仔细检查下看看。我试了一把,第一种方法完全可以:
http://plnkr.co/edit/uqswfDw3f0lvcolnrTQ...


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

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

记得 inject $ionicHistory

【热门文章】
【热门文章】