- 浏览: 503119 次
- 性别:
- 来自: 广州
-
文章分类
- 全部博客 (502)
- Java (70)
- Linux (10)
- 数据库 (38)
- 网络 (10)
- WEB (13)
- JSP (4)
- 互联网 (71)
- JavaScript (30)
- Spring MVC (19)
- HTML (13)
- CSS (3)
- AngularJS (18)
- Redis (5)
- Bootstrap CSS (1)
- ZooKeeper (4)
- kafka (6)
- 服务器缓存 (4)
- Storm (1)
- MongoDB (9)
- Spring boot (16)
- log4j (2)
- maven (3)
- nginx (5)
- Tomcat (2)
- Eclipse (4)
- Swagger (2)
- Netty (5)
- Dubbo (1)
- Docker (7)
- Hadoop (12)
- OAuth (1)
- webSocket (4)
- 服务器性能 (7)
- Session共享 (1)
- tieye修改 (1)
- 工作 (1)
- 有用的语录 (0)
- https (2)
- common (5)
- 产品开发管理 (1)
- CDN 工作原理 (1)
- APNS、GCM (1)
- 架构图 (3)
- 功能实现分析 (1)
- JMX (1)
- 服务器相关操作命令 (1)
- img02 (0)
- 服务器环境搭建 (9)
- goodMenuBook (1)
- CEInstantPot (0)
- 有用数据 (1)
- 百度地图WEB API (2)
- 正则表达式 (1)
- 样式例子 (2)
- staticRecipePressureCooker.zip (1)
- jCanvas (1)
- 网站攻击方法原理 (1)
- 架构设计 (3)
- 物联网相关 (3)
- 研发管理 (7)
- 技术需求点 (1)
- 计划 (1)
- spring cloud (11)
- 服务器开发的一些实用工具和方法 (1)
- 每天学到的技术点 (4)
- Guava (1)
- ERP 技术注意要点 (2)
- 微信小程序 (1)
- FineRepor (1)
- 收藏夹 (1)
- temp (5)
- 服务架构 (4)
- 任职资格方案 (0)
- osno_test (1)
- jquery相关 (3)
- mybatis (4)
- ueditor (1)
- VueJS (7)
- python (10)
- Spring EL (1)
- shiro (1)
- 前端开发原理与使用 (7)
- YARN (1)
- Spark (1)
- Hbase (2)
- Pig (2)
- 机器学习 (30)
- matplotlib (1)
- OpenCV (17)
- Hystrix (1)
- 公司 (1)
- miniui (4)
- 前端功能实现 (3)
- 前端插件 (1)
- 钉钉开发 (2)
- Jenkins (1)
- elasticSearch使用 (2)
- 技术规范 (4)
- 技术实现原理 (0)
最新评论
AngularJs框架下controller间的传值方法
第一种方式
angularJS中默认情况下,当前作用域中无法找到某个属性时,就会在父级作用域中进行查找,若找不到直至查找到$rootScope。
如果在$rootScope中也无法找到程序依旧运行,但视图不会更新。
第二种方式
$on、$emit和$broadcast使得event、data在controller之间的传递变的简单
$emit只能向parent controller传递event与data
$broadcast只能向child controller传递event与data
$on用于接收event与data //
第三种方式
利用angularJS中service单例模式的特性,服务(service)提供了一种能在应用的整个生命周期内保持数据的方式,
能够在控制器之间进行通信,且能保证数据的一致性。
第一种方式
angularJS中默认情况下,当前作用域中无法找到某个属性时,就会在父级作用域中进行查找,若找不到直至查找到$rootScope。
如果在$rootScope中也无法找到程序依旧运行,但视图不会更新。
//Javascript app.controller('ParentController', function($scope) { $scope.person = {greeted: false}; }); app.controller('ChildController', function($scope) { $scope.sayHello = function() { $scope.person.name = 'Ari Lerner'; }; }); //HTML <div ng-controller="ParentController"> <div ng-controller="ChildController"> <a ng-click="sayHello()">Say hello</a> </div> {{ person }} </div> //result {"greeted":false, "name": "Ari Lerner"}
第二种方式
$on、$emit和$broadcast使得event、data在controller之间的传递变的简单
$emit只能向parent controller传递event与data
$broadcast只能向child controller传递event与data
$on用于接收event与data //
JavaScript app.controller('ParentController', function($scope) { $scope.$on('$fromSubControllerClick', function(e,data){ console.log(data); // hello }); }); app.controller('ChildController', function($scope) { $scope.sayHello = function() { $scope.$emit('$fromSubControllerClick','hello'); }; }); //HTML <div ng-controller="ParentController"> <div ng-controller="ChildController"> <a ng-click="sayHello()">Say hello</a> </div> </div>
第三种方式
利用angularJS中service单例模式的特性,服务(service)提供了一种能在应用的整个生命周期内保持数据的方式,
能够在控制器之间进行通信,且能保证数据的一致性。
JavaScript var myApp = angular.module("myApp", []); myApp.factory('Data', function() { return { name: "Ting" } }); myApp.controller('FirstCtrl', function($scope, Data) { $scope.data = Data; $scope.setName = function() { Data.name = "Jack"; } }); myApp.controller('SecondCtrl', function($scope, Data) { $scope.data = Data; $scope.setName = function() { Data.name = "Moby"; } });
发表评论
-
lazyLoad
2017-05-10 00:11 572<!DOCTYPE html> <html ... -
timer
2017-05-10 00:17 430<!DOCTYPE html> <html ... -
滚动到指定元素、判断对象是否为空
2017-05-10 00:16 719<!DOCTYPE html> <html ... -
Http请求封装
2017-05-09 22:21 554<!DOCTYPE html> <html ... -
上传文件内容改变和上传文件
2017-05-09 21:56 511<!DOCTYPE html> <html ... -
ng-click参数传递
2017-05-09 21:35 952<!DOCTYPE html> <html ... -
promise(js里很多服务的then实现分析)
2016-09-14 01:07 952promise(很多少服务的then) 1、promise ... -
AngularJs directive(指令)
2016-09-14 01:07 898AngularJs directive(指令) ... -
Anguar 工作过程
2016-09-14 01:05 375Anguar 工作过程 Anguar的指令编译过程: 1 ... -
AngularJS Ajax($http)
2016-09-14 01:07 821AngularJS Ajax($http) 1.$http ... -
Angularjs run(AngularJS应用中第一个被执行的方法)
2016-09-15 13:10 618Angularjs run(AngularJS应用中第一个被执 ... -
$on、$emit和$broadcast的使用
2016-09-13 15:04 647$on、$emit和$broadcast的使用 如何在作 ... -
AngularJs API
2016-09-13 14:59 596AngularJs API 以下列出了一些通用的 API ... -
AngularJS 路由
2016-09-13 14:58 607AngularJS 路由 AngularJS 路由允许我们 ... -
AngularJS $location
2016-09-13 14:46 636AngularJS $location $location ... -
AngularJS中service,factory,provider的区别
2016-09-13 09:30 622AngularJS中service,factory ... -
AngularJS基础
2016-09-17 20:52 432AngularJS基础 AngularJS 是 ...
相关推荐
总结来说,AngularJS中Controller间的通信主要有三种方式:作用域继承、事件广播(`$on`、`$emit`、`$broadcast`)以及服务。根据项目需求和性能考虑,可以选择最适合的方式来实现不同Controller之间的数据交互。在...
本项目“angularjs框架的仿卷皮网”就是一个典型的SPA实例,它展示了AngularJS在构建复杂Web应用时的能力,包括购物车功能、页面间数据传递以及懒加载等特性。 **1. AngularJS核心概念** AngularJS的核心是MVC...
在进行路由设计时,路由传值是经常需要处理的一个功能,本文将重点介绍 AngularJS 中路由传值的使用方法和细节,特别是如何使用 $routeParams 服务。 首先,要使用 AngularJS 的路由功能,需要先加载 AngularJS 库...
AngularJS是一款流行的前端JavaScript框架,它主要用于创建单页应用程序。1.5版本的AngularJS在组件化方面做了进一步的增强和改进。在AngularJS中,组件是由控制器和模板构成的,是实现数据和视图之间交互的一个重要...
在AngularJS框架中,通信是应用中不可或缺的一部分,特别是在处理控制器之间的数据传递时。本文将深入探讨如何在Angular中实现子控制器向父控制器传递值的实例。 首先,我们需要理解Angular中的控制器(Controller...