angular中controller通信问题

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

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

阅读 3.1k
5 个回答

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

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

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

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

推荐问题
宣传栏