AngularJS--$on、$emit和$broadcast的使用

一,angularjs $broadcast $emit $on的处理思想

在一个controller里面通过事件触发一个方法,在方法里面通过$broadcast或$emit来定义一个变量,在父,子controller里面通过$on来获取。

  • $emit只能向parent controller传递event与data
  • $broadcast只能向child controller传递event与data
  • $on用于接收event与data

html代码: 

<div ng-controller="EventController">
    Root scope
    <tt>MyEvent</tt> count: {{count}}
	<ul>
		<li ng-repeat="i in [1]" ng-controller="EventController">
			<button ng-click="$emit('MyEvent')">
				$emit('MyEvent')
			</button>
			<button ng-click="$broadcast('MyEvent')">
				$broadcast('MyEvent')
			</button>
			<br>
			Middle scope
			<tt>MyEvent</tt> count: {{count}}
			<ul>
				<li ng-repeat="item in [1, 2]" ng-controller="EventController">
					Leaf scope
					<tt>MyEvent</tt> count: {{count}}
				</li>
			</ul>
		</li>
	</ul>
</div>

 JS代码:

function EventController($scope) {
	$scope.count = 0;
	$scope.$on('MyEvent', function() {
		$scope.count++;
	});
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏逆向与安全

菜鸟 学注册机编写之 “序列号组合”

1.OD载入程序, F9运行, 点击”Register”随便输入用户名与注册码,如下图:

670
来自专栏IT杂记

Websocket HandShake Sec-WebSocket-Accept 生成策略

先阅读http://tools.ietf.org/html/rfc6455 规范,然后实践。 思路如下:     服务端先获得请求头部的Sec-WebSock...

1818
来自专栏青玉伏案

iOS开发之Masonry框架源码解析

Masonry是iOS在控件布局中经常使用的一个轻量级框架,Masonry让NSLayoutConstraint使用起来更为简洁。Masonry简化了NSLay...

1828
来自专栏向治洪

JNI动态注册native方法及JNI数据使用

前言 或许你知道了jni的简单调用,其实不算什么百度谷歌一大把,虽然这些jni绝大多数情况下都不会让我们安卓工程师来弄,毕竟还是有点难,但是我们还是得打破砂锅知...

1946
来自专栏IMWeb前端团队

创建script、link标签,预加载js/css方法createStaticResourceElement(CSRE)

# 代码 create-static-resource.js /** * Created by Capricorncd 2017-09-25 * https...

1976
来自专栏跟着阿笨一起玩NET

PropertyGrid中的枚举显示为中文

本文转载:http://www.cnblogs.com/yank/archive/2011/09/17/2179598.html

452
来自专栏AhDung

C#遐想/瞎想

782
来自专栏跟着阿笨一起玩NET

在RichTextBox中对关键字进行高亮显示

若要实现更复杂的功能,可以研究一下这个C#的IDE编辑器的代码。http://www.icsharpcode.net/OpenSource/SD/Defaul...

340
来自专栏大内老A

ASP.NET MVC三个重要的描述对象:ParameterDescriptor

Model绑定是为作为目标Action的方法准备参数列表的过程,所以针对参数的描述才是Model绑定的核心。在ASP.NET MVC应用编程接口中,服务于Mod...

18410
来自专栏前端架构

JavaScript操作DOM的那些坑

所有浏览器的focus/blur事件都不冒泡,万幸的是大部分浏览器支持focusin/focusout事件,不过可恶的firefox连这个都不支持。

955

扫描关注云+社区