angular模块和组件之间传递信息和操作流程的方法(笔记)
angular的模块之间,以及controller、directive等组件之间,是相对独立的,用以实现解耦合。
为实现相互之间传递信息及操作流程,有以下一些机制:
1、事件机制:
$scope.$broadcast:向下广播事件,下方所有的scope都会接收到这个事件,事件不能中途终止。
$scope.$emit:向上冒泡事件,可带参数,一直冒泡到$rootScope,中途可以用stopPropagation()方法终止冒泡。
2、scope的继承机制:
子scope的__proto__对象就是父scope,从而直接实现了数据从父scope传递到子scope。
但无法直接将数据传递给父scope,但可以通过调用父scope上的js方法,把数据通过参数传递给父scope
3、watch机制:
在子scope上可以$watch一个变量名,绑定一个回调函数。当父scope上改变这个变量时,就会执行子scope的回调函数,从而实现父scope到子scope的调用。
这种方式比通过$broadcast的方式性能要好。
angular模块和组件之间传递信息和操作流程的方法(笔记)的更多相关文章
- 「Vue」父子组件之间的传值及调用方法
a.父组件向子组件传值data(){},props数据区别data中的数据可读可写,是自己的数据props是个数组,中的数据是父组件传递过来的,只读不能写<login :dmsg='msg'&g ...
- vue组件之间值传递四种方法汇总
1.父组件获取子组件的数据和方法 $refs 子组件: <template> <div class="header"> <h3>{{ zz }} ...
- Angular中不同的组件间传值与通信的方法
主要分为父子组件和非父子组件部分. 父子组件间参数与通讯方法 使用事件通信(EventEmitter,@Output): 场景:可以在父子组件之间进行通信,一般使用在子组件传递消息给父组件: 步骤: ...
- react 组件之间传值
谈及React时,就会想到一个很重要的思想,就是组件化思想.它将可以重用的部分进行组件化开发,形成一个个相对独立的组件,那么组件化后,你也会提出些疑问,组件与组件之间,将怎样进行信息的传递呢?下面来介 ...
- Angular 向组件传递模板的几种方法
最近在写一个日期选择器组件,为了满足将来可能出现的各种需求,所以需要能够高度的自定义组件的样式.为了达到这个目的,需要能够在日期选择器组件外控制每个日期格子内要显示的内容,比如,标上节假日之类的.这时 ...
- Angular开发实践(四):组件之间的交互
在Angular应用开发中,组件可以说是随处可见的.本篇文章将介绍几种常见的组件通讯场景,也就是让两个或多个组件之间交互的方法. 根据数据的传递方向,分为父组件向子组件传递.子组件向父组件传递及通过服 ...
- Angular组件之间通讯
组件之间会有下列3种关系: 1. 父子关系 2. 兄弟关系 3. 没有直接关系 通常采用下列方式处理(某些方式是框架特有)组件间的通讯,如下: 1父子组件之间的交互(@Input/@Output/模板 ...
- Angular06 组件、模块、父子组件之间的数据传递
1 创建组件 进入到angular项目的根目录,执行如下命令 ng g component test-component 注意:执行完上述命令后在angular项目的src/app文件夹下就会多出一个 ...
- 一个Angular模块中可以声明哪些组件?
一个Angular模块中可以声明哪些组件? (1) controller 控制器 (2) directive 指令 (3) function ...
随机推荐
- oracle中根据当前记录查询前一条和后一条记录
select * from aa01_2014 where aaa001=(select c.p from (select aaa001,lag(aaa001,1,0) over (order by ...
- PHP字符串处理
/*1 字符串格式化 */ $str = ' php '; //清理两边的空格trim();,左边ltrim(); 边rtrin() echo trim($str); //nl2br();将换行符\n ...
- checkbox实现互斥
<html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>标题页-学无忧(www.x ...
- VS2010+C#+EmguCV 配置详解
在VS2010(VC10)中配置能使用C#开发语言调用Open CV视觉库的方法如下.众所周知,能供C#使用的OpenCV库叫:Emgu CV.注意用C#开发的话,是不需要单独安装OpenCV的,em ...
- 【转载】CentOS服务器配置VPN详解
转载来自: https://bbs.aliyun.com/read/162297.html http://www.wanghailin.cn/centos-7-vpn/ 操作系统:CentOS 6.3 ...
- 【转载】 删除Win10“这台电脑”中的6个文件夹
转载地址:http://www.myxzy.com/post-431.html Windows 8.1/windows 10对比windows 7都有一个变化,打开“这台电脑”(或“我的电脑”)后,“ ...
- 【Java EE 学习 16 上】【dbcp数据库连接池】【c3p0数据库连接池】
一.回顾之前使用的动态代理的方式实现的数据库连接池: 代码: package day16.utils; import java.io.IOException; import java.lang.ref ...
- 【Java EE 学习 15】【自定义数据库连接池之动态代理的使用】
一.动态代理的作用 使用动态代理可以拦截一个对象某个方法的执行,并执行自定义的方法,其本质是反射 优点:灵活 缺点:由于其本质是反射,所以执行速度相对要慢一些 二.数据库连接池设计思想 1.为什么要使 ...
- 用JMeter进行Performance Test
用JMeter可以对Http请求进行Performance Test,来分析哪些方法花费的时间多,哪些方法花费的时间少,有了这样的分析结果后,我们就可以集中力量来改进费时的方法. 官方文档请参考如下链 ...
- iOS 线程间共享资源添加排它锁
#import "ViewController.h" @interface ViewController () @property(nonatomic,strong)NSThrea ...