javascript - angular中controller通信问题
巴扎黑
巴扎黑 2017-04-11 11:49:34
[JavaScript讨论组]

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

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

巴扎黑
巴扎黑

全部回复(5)
PHP中文网

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

PHPz

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

ringa_lee

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

PHP中文网

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

PHPz

参考文章:

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

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号