angular事件
来源:互联网 发布:php调用python接口 编辑:程序博客网 时间:2024/05/16 07:30
http://www.cooklife.cn/detail/54c8f838ed5b52846b6bca41#View
对于一款前端框架,提起事件,很容易让人联想到DOM事件,比如说鼠标点击以及页面滚动等。但是我们这里说的angular中的事件和DOM事件并不是一个东西。
事件的发布
我们可以通过$emit()以及$broadcast()来发布事件
$emit(name, args)
name发布的事件名称
args会作为对象传递到事件的监听器中
$emit()发布的事件,会从子作用域冒泡到父作用域,产生事件的作用域之上的所有作用域都会收到这个事件的通知。
$broadcast(name, args)
同$emit的参数一直,name作为事件的名字,args作为监听器接受 的参数。使用该方法事件的传播方向是从上至下,即从父作用域到子作用域。
事件的监听
事件发布了,我们要注册监听事件的服务,才会对事件进行响应
可以通过$on()方法来注册事件监听事件。
$scope.$on(name, listenerFn)
当以name为事件名的事件被促发之后,listenerFn事件就会被执行。
$on()返回一个反注册函数,可以用其来取消监听器。
事件对象
所有的事件监听器第一个参数都代表了事件对象,该对象有以下属性:
targetScope作用域对象,发送事件的作用域
currentScope:当前处理事件的作用域
name:当前事件的事件的名称
stopPropagation:取消$emit触发的事件进一步的传播
preventDefaul:把defaultPreevented标志设置为true,告诉子作用域可以无需处理该事件。
defaultPreevented:布尔值
angular内置事件
$includeContentLoaded($emit事件)
ngInclude内容重新加载的时候,从ngInclude指令触发
$includeContentRequested($emit事件)
从调用ngInclude的作用域上发送,每次ngInclude的内容被请求的时候,都会发布该事件
$viewContentLoaded($emit事件)
当ngView内容被重新加载时,从ngView作用域上发布
$locationChangeStart($broadcast事件)
通过$location服务对浏览器的地址更新时会触发$locationChangeStart事件
$locationChangeSuccess($broadcast事件)
当浏览器的地址成功变更时触发
$routeChangeStart($broadcast事件)
在路由变更发生之前,该事件从$rootScope发布
- angular事件
- Angular 事件
- angular js 事件
- angular input回车事件
- angular 滑动事件
- angular.js中的事件
- angular 阻止事件冒泡
- angular内置事件
- ## Angular Event事件 ##
- angular阻止事件冒泡
- Angular 点击事件
- ionic angular 生命周期事件
- angular中onload事件
- angular option点击事件。
- angular事件关键字
- angular 回车点击事件
- angular 事件监听,内置事件
- angular中全局事件绑定
- (转)OpenCV数据结构Mat详解
- leetcode String to Integer (atoi)
- UltraEdit中配置Java开发环境
- Android事件分发机制学习笔记
- cookie匹配规则: domain从后往前, path从前往后 (满足就送)
- angular事件
- 中文分词笔记之一:概率基础
- poj-3628 Silver Cow Party
- 基于 Jenkins 快速搭建持续集成环境
- 1022. Digital Library (30)
- 线性代数公开课链接
- android finishAffinity()
- 安卓适配碰到的一些问题
- Unity Application.GetStreamProgressForLevel 获取关卡的流进度语法复习