首页 > angular中controller通信问题

angular中controller通信问题

现在有两个controller A B(同级)
A中有一个方法query() (用到了大量的该$scope上的值)
问 如何在B中调用A中的query()?

即如何保留一个函数的运行环境


写一个服务 然后服务写一个方法映射你这个A中的query方法 然后B中调用服务的方法 不知道这样行不行?


参考文章:

  1. Controller间的数据共享?最佳实践:使用Service

  2. 使用AngularJS构建应用时遇到的问题及解决方案(版本为1.3.9)


目前是使用了下面的方法:
1、在B中添加 $rootScope.$broadcast('xxx')
2、在A中添加 $scope.$on('xxx',()=>{query()})


如果要求执行环境是A那就只有一个办法就是emit事件, 其他都不行的


angular中控制器的通信方式有三种,1.基于事件的方式 2.基于服务注入的方式 3.利用作用域继承 具体看你两个controller之间的关系

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