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

失败,控制台打印不出来data
这种方式却失败了,之后采用$scope向上传递,再用$rootScope接收,成功。

请问第一种方式为什么会失败?他和第二种难道不一样么?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
确实是 ionic 就不用补了。。。我大概知道什么情况了。
把
$state.go('xxxxxx')改成$ionicHistory.goBack()记得 inject $ionicHistory
没道理啊,仔细检查下看看。我试了一把,第一种方法完全可以:
http://plnkr.co/edit/uqswfDw3f0lvcolnrTQ...
angular 的$broadcast和$emit父级和子级只的是controller,而不是$scope和$rootScope。第一个的controller中,你把$on放在$rootScope上应该就能接收到数据了。现在的状态$rootScope并不能访问$scope.