1、可以写一个service服务,从而达到数据和代码的共享;

var app=angular.module('app',[]);app.service('ObjectService', [ObjectService]);
function ObjectService() {var list = {};return {get: function(id){return list[id];},set: function(id, v){list[id] = v;}}
}

 在一个控制器中,注入ObjectService,再调用ObjectService.set('i',1)设置的数据,在其它的控制器中,便可通过ObjectService.set('i')来获取。这方法本人没有怎么用过

2、广播与事件

  

AngularJS 中在触发事件和发送广播时,都可以传递参数,可以通过这一特性,来实现数据的共享。与事件和广播相关的,共有三个方法,分别是:

    1.$emit():触发事件,它可以向上传递数据,比如,子控制器向父控制器。

   2.$broadcast():发送广播,它可以向下传递数据,比如,父控制器向子控制器传递数据;这个有时接收不到,如:单独在父控制器写一个这个$broadcast()传数据,在子控制器中写一个$on()改收到这个数据是收不到的;如我把$broadcast()写在一个点击函数里面,点击时,字控制器能收到。

3.$on():监听事件与广播,可以捕获 $emit  $broadcast

可以将控制器之间的通信,分为三种情形:

1.无直接关联的控制器:使用 $rootScope.$emit()、$rootScope.$boardcast()  $scope.$emit 来发出数据,通过 $rootScope.$on() 来获取数据,这个没怎么用过,

2.父控制器到子控制器:父控制器使用 $scope.$boradcast() 来发送数据,子控制器通过 $scope.$on() 来获取数据

 3.子控制器至父控制器:子控制器使用 $scope.$emit() 来发送数据,父控制器通过 $scope.$on() 来获取数据

3、将数据全局共享;

  三中方法:ng中有两中,

  在ng-app中定义的全局变量,在不同的ng-controller里都可以使用。
  通过var 直接定义global variable,这根纯js是一样的。
  用angularjs value来设置全局变量 。
  用angularjs constant来设置全局变量

4、父控制器里的参数,子控制器里可以直接使用,如:我设一个变量scope.data="成功",你在其子控制里可以直接用scope.data。

转载于:https://www.cnblogs.com/flxy-1028/p/6443471.html

angularjs控制器之间的数据共享与通信相关推荐

  1. 在AngularJS控制器之间共享数据

    本文翻译自:Share data between AngularJS controllers I'm trying to share data across controllers. 我正在尝试跨控制 ...

  2. angularJS--多个控制器之间的数据共享

    为了在控制器之间共享数据,需要在服务中添加一个用来储存用户名的方法.记住,服务在 应用的生命周期内是单例模式的,因此可以将用户名安全地储存在其中. <!DOCTYPE html> < ...

  3. angularJS的controller之间如何正确的通信

    AngularJS中的controller是个函数,用来向视图的作用域($scope)添加额外的功能,我们用它来给作用域对象设置初始状态,并添加自定义行为. 当我们在创建新的控制器时,angularJ ...

  4. 和12岁小同志搞创客开发:两个控制器之间如何实现通信?

    目录 1.有线通信 2.无线通信 3.串口点灯 机缘巧合在网上认识一位12岁小同志,从零开始系统辅导其创客开发思维和技巧. ​​​项目专栏:https://blog.csdn.net/m0_38106 ...

  5. Angularjs controller之间的通信

    刚刚看了网上的一些关于控制器之间的通信:然后结合自己项目做了一些,这里主要做的是二个同级之间的controller通信. Html: 1 <html> 2 <script src=& ...

  6. python 与别的程序通信_《Python》进程之间的通信(IPC)、进程之间的数据共享、进程池...

    一.进程间通信---队列和管道(multiprocess.Queue.multiprocess.Pipe) 进程间通信:IPC(inter-Process Communication) 1.队列 概念 ...

  7. AngularJS控制器中的#39;this#39;与$ scope

    本文翻译自:'this' vs $scope in AngularJS controllers In the "Create Components" section of Angu ...

  8. 在视图控制器之间传递数据

    我是iOS和Objective-C以及整个MVC范例的新手,但我坚持以下几点: 我有一个充当数据输入表单的视图,我想给用户选择多个产品的选项. 这些产品在另一个带有UITableViewControl ...

  9. SDN入门第五篇——交换机与控制器之间的交互流程

    1.原理 sdn交换机与控制器之间采用Openflow协议进行通信. openflow 交换机和控制器之间的交互步骤 SDN交换机和控制器在建立TCP连接的基础上,进行如下通信: 1.首先互相发送He ...

最新文章

  1. 生产者与消费者(三)---BlockingQueue
  2. Go 语言编程 — make 和 new
  3. C语言复习篇之数组与指针
  4. PAT甲级1149 Dangerous Goods Packaging :[C++题解]哈希表、逆向思维
  5. 海明嵌入Hamming Embedding生成Binary Signature之matlab程序代码
  6. 备战秋招——操作系统
  7. Python高级语法-详解set机制
  8. 节约里程法java代码_患者,男,70岁,有多年排尿困难,呈淋漓状,近2年来双侧腹股沟区出现半年圆形肿块,站立时明显,平卧后消失,体检时压迫内环肿块仍出现,诊断为...
  9. 自定义构建基于.net core 的基础镜像
  10. 马尔可夫决策过程 Markov decision process MDP, 连续时间Markov chain, CMDP(全)
  11. 向周鸿祎的360安全浏览器学互联网产品运营和推广
  12. 2019技术学习规划
  13. Twisted中的putChild和getChild
  14. #react 之ant design Pro 学习研究#----启动项目
  15. Q3D之多视图(左视图,正视图等)
  16. opencv读取视频转换成一张张图片
  17. 讲真的,大厂员工都在使用的赚钱小技能Python!
  18. 搜狐Q3由盈转亏:预计全年收入下滑12%,张朝阳归因于不确定性
  19. 怎样用计算机打出错字,电脑键盘打字错乱的解决方法-电脑打不出字怎么办
  20. Python绘制双对数曲线

热门文章

  1. Erlang 位串和二进制数据
  2. python实例31[文件夹清理]
  3. 数据库备份DBS商业化发布
  4. UIButton或UILabel加个下划线
  5. C#递归搜索指定目录下的文件或目录
  6. BufferedWriterTest
  7. Oracle初始化参数之memory_target
  8. SQL Server数学函数
  9. mysql查询流程解析及重要知识总结
  10. Flask爱家租房--订单(下订单)