刚刚看了网上的一些关于控制器之间的通信;然后结合自己项目做了一些,这里主要做的是二个同级之间的controller通信。

Html:

 1 <html>
 2 <script src="http://apps.bdimg.com/libs/angular.js/1.3.9/angular.min.js"></script>
 3 <body>
 4 <div ng-app="app">
 5      <div ng-controller="childCtr1">name :
 6         <input ng-model="name" type="text"  />
 7     </div>
 8      <div ng-controller="childCtr2">Ctr1 name:
 9          {{ctr1Name}}
10      </div>
11  </div>
12 </body>
13 </html>

上面的html代码设置了2个同级的控制器,现在childCtr2需要childCtr1的参数来显示相关信息,下面是控制器childCtr1的代码:

1 angular.module("app", [])
2 .controller("childCtr1", function ($scope) {
3     $scope.$watch("name",function (){//监听绑定“name",当发生改变时发送消息;
4         //alert("123");
5         $scope.$emit("Ctr1NameChange", $scope.name);//发送名为Ctr1NameChange的消息,值为$scope.name
6     });
7 });

下面是childCtr2的代码:

angular.module("app", [])
.controller("childCtr2", function ($scope) {$scope.$on("Ctr1NameChange",//监听有没有名为”Ctr1NameChange“的消息,如果有,则执行下面函数function (event, msg) {console.log("childCtr2", msg);$scope.ctr1Name = msg;});
});

以上是针对控制器分离的文件写的不同形式;当然也可以将他们合并到一个页面

 1 angular.module("app", [])
 2 .controller("childCtr1", function ($scope) {
 3     $scope.$watch("name",function (){
 4         //alert("123");
 5         $scope.$emit("Ctr1NameChange", $scope.name);
 6     });
 7 }).controller("childCtr2", function ($scope) {
 8     $scope.$on("Ctr1NameChange",
 9
10     function (event, msg) {
11         console.log("childCtr2", msg);
12         $scope.ctr1Name = msg;
13     });
14 });

还有很多控制器之间的通信方法,包括server的factory,可以参考:http://jsbin.com/hopazo/5/edit?html,css,js,output

转载于:https://www.cnblogs.com/tiedaweishao/p/4798651.html

Angularjs controller之间的通信相关推荐

  1. AngularJS实战之Controller之间的通信

    我们时常会在不同controller之间进行通信,接下来就介绍三种controller之间的通信方式 一.使用$on.$emit和$broadcast进行controller通信 虽然AngularJ ...

  2. angularJS中directive与controller之间的通信

    当我们在angularJS中自定义了directive之后需要和controller进行通讯的时候,是怎么样进行通讯呢? 这里介绍3种angular自定义directive与controller通信的 ...

  3. Angularjs Controller 间通信机制

    在Angularjs开发一些经验总结随笔中提到我们需要按照业务却分angular controller,避免过大无所不能的上帝controller,我们把controller分离开了,但是有时候我们需 ...

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

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

  5. angularjs控制器之间的数据共享与通信

    1.可以写一个service服务,从而达到数据和代码的共享; var app=angular.module('app',[]);app.service('ObjectService', [Object ...

  6. 多个 ng-app 中 Controllers Services 之间的通信

    原文发布在个人独立博客上,链接:http://pengisgood.github.io/2016/01/31/communication-between-multiple-angular-apps/ ...

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

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

  8. vue的父子组建之间的通信(-),基于props和$emit之间的传递

    对于vue而言,以为其核心思想为前端组建化.所以组建之间的通信必不可少. 相信接触过Angularjs的童鞋都知道angularjs的控制器之间的通信机制. 1:父传子:官方的$broadcast() ...

  9. 如何解决服务之间的通信问题?

    文章目录 1.如何解决服务之间的通信问题? 2.如何在java代码中发起http方式请求? 3.实现服务间通信的小案例 3.1 使用两个测试服务 用户服务users和订单服务orders 3.2 用户 ...

最新文章

  1. python hist函数_Python主要数据探索函数
  2. 特征图大小_新手向快速了解图神经网络
  3. linux下安装 配置 redis数据库
  4. python slice是共享内存吗_python共享内存实现进程通信
  5. 前端学习(1802):前端调试之事件伪类练习
  6. Windows环境下查看Java进程ID,找到java程序对应的进程pid
  7. (二)win7下用Intelij IDEA 远程调试spark standalone 集群
  8. 智能制造与数字化工厂
  9. mysql主主同步机制+keepalived实现MySQL高可用
  10. 使用STVD和Cosmic C编译器开发STM8S快速入门指南
  11. 某新闻App sign签名算法解析(一)
  12. SecureCRT Ver 8.1.4 整合汉化绿色版一体包
  13. 谷歌地球不能用了,我推荐个替代方案,免费软件
  14. FPGA跨时钟域打两拍和三拍问题
  15. 羞涩!紧张!!兴奋!!!
  16. webStorm的一些快捷键
  17. 英雄之盾-第11届蓝桥杯Scratch省赛真题第4题
  18. 浙大数据结构习题笔记:顺序表与单链表
  19. 关于基线版本、基线那点事儿
  20. glibc-2.15.tar.gz

热门文章

  1. oracle数据库中表被锁,Oracle数据库表被锁问题处理
  2. php实习生很苦吗,实习生就该被欺负做又累又苦的活吗?!
  3. php dirtoarray,PHP Ds\Stack toArray()用法及代码示例
  4. windows系统修改cmd窗口编码格式
  5. Codeforces 1291 Round #616 (Div. 2) B
  6. 【Android】如何查看android cpu是32位还是64位
  7. pads layout 中 hatch和flood之区别
  8. 使用cnn预测房价_使用CNN的人和马预测
  9. R语言——str函数
  10. 开发工作和测试工作不能由同一部分人来完成。如果开发人员对程序的功能要求理解错了,就很容易按照错误的思路来设计测试用例。如果开发人员同时完成测试工作,那么测试工作就很难取得成功。