先说最简单的,适合简单数据
一、使用controller as
<body ng-controller="ParentCtrl as parent"> <input ng-model="parent.name" /> {{parent.name}} <div ng-controller="ChildCtrl as child"> <input ng-model="child.name" /> {{child.name}} - {{parent.name}} </div> </body>
这样parentCtrl中的数据也可以显示在嵌套在其中的childCtrl了
二、使用$rootScope 或 $parent
<body ng-controller="ParentCtrl"> <input ng-model="name" /> {{name}} <div ng-controller="ChildCtrl"> <input ng-model="name" /> {{name}} - {{$parent.name}} </div> </body>
三、使用$broadcast,$emit和$on
- 从上往下—— $broadcast 把事件广播给所有子controller
- 从下往上—— $emit 将事件冒泡传递给父controller
- $on —— angularjs的事件注册函数
<div ng-app="app" ng-controller="parentCtrl"> <div ng-controller="childCtrl1">name : <input ng-model="name" type="text" ng-change="change(name);" /> </div> <div ng-controller="childCtrl2">Ctr1 name: <input ng-model="ctrl1Name" /> </div> </div>
angular.module("app", []).controller("parentCtrl",function ($scope) { //注册Ctrl1NameChange事件 $scope.$on("Ctrl1NameChange", function (event, msg) { console.log("parent", msg); $scope.$broadcast("Ctrl1NameChangeFromParent", msg); }); }).controller("childCtrl1", function ($scope) { $scope.change = function (name) { console.log("childCtrl1", name);
//冒泡Ctrl1NameChange事件,将name传给父级controller $scope.$emit("Ctrl1NameChange", name); }; }).controller("childCtrl2", function ($scope) { // $scope.$on("Ctrl1NameChangeFromParent",function (event, msg) { console.log("childCtrl2", msg); $scope.ctrl1Name = msg; }); });
jsfiddle链接:http://jsfiddle.net/whitewolf/5JBA7/15/
参看:
- http://www.cnblogs.com/whitewolf/archive/2013/04/16/3024843.html
- http://stackoverflow.com/questions/21287794/angularjs-controller-as-syntax-clarification
分类:
AngularJS
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
2013-12-17 iscroll4框架解析[webapp开发](转)
2013-12-17 IE9中Media queries在iframe无效的解决方法