angularjs $broadcast $emit $on 事件触发controller间的值传递

Unity技能系统核心:从理论到实践构建可扩展的Buff管理器 本文深入探讨了Unity游戏开发中构建可扩展技能系统的核心——Buff管理器。通过剖析三层架构(数据、逻辑、渲染)与独立组件管理模式,提供了从Buff数据定义、管理器核心实现到可视化编辑器搭建的完整实践方案,旨在解决技能系统维护难题,提升开发效率与代码质量。 阅读详情

张映 发表于 2014-03-07

分类目录: js/jquery

标签:$broadcast, $emit, $on, angular, angularjs, js

使用angularjs,发现controller间的值传递,比较麻烦的,以后几篇文章会陆续说几种方法。

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

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

二,实例说明angularjs $broadcast $emit $on的用法

1,html代码

  1. <div ng-controller="ParentCtrl">                  //父级  
  2.     <div ng-controller="SelfCtrl">                //自己  
  3.         <a ng-click="click()">click me</a>  
  4.         <div ng-controller="ChildCtrl"></div>     //子级  
  5.     </div>  
  6.     <div ng-controller="BroCtrl"></div>           //平级  
  7. </div>  

2,js代码

  1. phonecatControllers.controller('SelfCtrl', function($scope) {  
  2.     $scope.click = function () {  
  3.         $scope.$broadcast('to-child', 'child');  
  4.         $scope.$emit('to-parent', 'parent');  
  5.     }  
  6. });  
  7.   
  8. phonecatControllers.controller('ParentCtrl', function($scope) {  
  9.     $scope.$on('to-parent', function(d,data) {  
  10.         console.log(data);         //父级能得到值  
  11.     });  
  12.     $scope.$on('to-child', function(d,data) {  
  13.         console.log(data);         //子级得不到值  
  14.     });  
  15. });  
  16.   
  17. phonecatControllers.controller('ChildCtrl', function($scope){  
  18.     $scope.$on('to-child', function(d,data) {  
  19.         console.log(data);         //子级能得到值  
  20.     });  
  21.     $scope.$on('to-parent', function(d,data) {  
  22.         console.log(data);         //父级得不到值  
  23.     });  
  24. });  
  25.   
  26. phonecatControllers.controller('BroCtrl', function($scope){  
  27.     $scope.$on('to-parent', function(d,data) {  
  28.         console.log(data);        //平级得不到值  
  29.     });  
  30.     $scope.$on('to-child', function(d,data) {  
  31.         console.log(data);        //平级得不到值  
  32.     });  
  33. });  

3,点击Click me的输出结果

  1. child  
  2. parent  

用$broadcast赋的值,只能子级得到值;$emit赋的值,只能父级得到;而平级的什么都不能得到。

让 ABAP 开发更聪明的搭档:SAP Joule for Developers 与 ABAP AI Capabilities 全面实战 摘要:SAP已将生成式AI集成到ABAP开发工具中,推出Joule for Developers功能。该功能直接嵌入Eclipse开发环境,提供代码解释、生成、测试构造和遗留代码迁移等辅助功能。Joule支持ABAP Cloud项目开发,能围绕当前开发对象提供上下文相关的建议,帮助开发者高效完成应用开发与迁移任务。启用该功能需升级ADT并获取相应许可,典型应用场景包括RAP应用构建和S/4HANA迁移中的代码重构。官方资源提供了多个实践案例,帮助开发者快速上手这一AI辅助开发功能。(149字) 阅读详情

相关推荐

先进半导体材料与器件Chapter3

Chapter3 异质结双极晶体管(HBT) 作者:毛茏玮 / Saint 掘金:https://juejin.im/user/5aa1f89b6fb9a028bb18966a 微博:https://weibo.com/5458277467/profile?topnav=1&wvr=6&is_all=1 GitHub:github.com/saint-000 知乎:https:/...

一个会写代码的烤鸭 5804

angularjs - on、on、emit和$broadcast的使用与区别

onon。

IT枫斗者的博客 579

Versal ACAP NoC实战:像理解计算机网络一样配置AXI NoC,打通PS与PL数据通路

本文深入探讨了Versal ACAP NoC的配置与优化,通过计算机网络类比解析NoC架构,详细介绍了在VD100开发板上配置AXI NoC实现PS与PL数据交互的实战步骤。文章涵盖NoC组件功能、Vivado配置技巧、性能优化方法及常见问题解决方案,帮助开发者高效打通Versal芯片的数据通路。

weixin_42665255的博客 294

Angularjs中的事件广播 —全面解析$broadcast,$emit,$on

转自:https://blog.youkuaiyun.com/chpllp/article/details/91969194?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161969906316780357233216%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=161969906316780357233216&biz_id=0&amp

weixin_53852074的博客 473

【中英双语】Illumina测序原理详解 | 边合成边测序/Sequencing by Synthesis

很多朋友们问我视频讲解时用的笔记可不可以分享,那当然必须是可以呐!但我当时其实没有好好记录,只是打了个草稿就开讲啦!既然大家有需求,俺就重新整理了一下,希望可以帮到大家!

weixin_43843918的博客 7875

python基础语法与数据结构

本文摘要: Python基础语法包含输入输出、函数、变量、数据类型及运算符等内容。输入函数input()获取键盘输入并以字符串存储,输出函数print()可格式化输出数据。函数通过def定义,可带参数和返回值,提高代码复用性。变量无需声明类型,可动态赋值。数据类型包括数字、字符串、布尔及复合类型,可通过type()查看。运算符包含算术、赋值等类型,其中复合赋值运算符如+=可简化运算。类型转换函数如int()、str()等可实现显式类型转换。这些基础语法构成Python编程的核心要素。

MM602388的博客 434

理解angularjs中的$emit,$broadcast和$on

在angularjs中提供了emit,emit,broadcast和$on服务用于控制器之间基础事件的传递交流。 AngularJS中的作用域有一个非常有层次和嵌套分明的结构。其中它们都有一个主要的$rootScope(也就说对应的Angular应用或者ng-app),然后其他所有的作用域部分都是继承自这个$rootScope的,或者说都是嵌套在主作用域下面的。很多时候,你会发现这些作用域不会共享...

kong_12的博客 1104

关于YOLOv8的面试题(持续更新中...)

本章将计划更新关于YOLOv8中可能会成为面试题的关键技术点,计划持续更新,可能想到合适的问题我就会整理下更新到本博客中。

ice 4170

angular $watch

$watch是一个scope函数,用于监听模型变化,当你的模型部分发生变化时它会通知你。 $watch(watchExpression, listener, objectEquality); 每个参数的说明如下: watchExpression:监听的对象,它可以是一个angular表达式如'name',或函数如function(){return $scope.name}。...

weixin_30512785的博客 220

WiFi基本概念(六)(L-STF,L-LTF)

L-STF它由10个OFDM symbol(1,0,1,0,1,0,1,0,1,0)构成,每个symbol是0.8us,GI是0.2us,总计10us。Symbol的长度是正常长度的1/4,因此称为Short training field,主要用于快速进行信号检测,信号同步,自动增益控制,接收天线选择(Diversity Selection)。 由于symbol长度是正常的1/4,子载波的宽度是正常的4倍,能进行初略的信道估计,其使用了-24, -20, -16, -12, -8, -4, 4, 8, 1

reekyli的专栏 6864

别再写XPath改DOM了!用OpenClaw零代码搞定爬虫全流程(抓取+清洗+存储)

免费版的大模型调用次数有限制(每天100次),但企业版是无限的,还能私有化部署;大模型分析DOM结构有时候会慢1-2秒,但比起节省的时间,完全可以接受;自定义Skill的文档还不够完善,但社区很活跃,有问题在Discord里问,很快就能得到回复。但总的来说,OpenClaw真的改变了我写爬虫的方式——以前我是“代码的奴隶”,现在我是“需求的提出者”,把时间花在更有价值的业务逻辑上,而不是重复繁琐的DOM调试上。如果你也在被传统爬虫折磨,强烈建议你试试OpenClaw,相信我,用了就回不去了。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1314

AngularJs $broadcast $emit $on 事件触发controller间的值传递

一,angularjs $broadcast $emit $on的处理思想 在一个controller里面通过事件触发一个方法,在方法里面通过$broadcast或$emit来定义一个变量,在父,子controller里面通过$on来获取。 二,实例说明angularjs $broadcast $emit $on的用法 1,html代码 ng-controller="Parent

西涛offbye-移动全栈技术博客 3624

uniapp | 基于高德地图实现位置选择功能(安卓端)

在uni-app项目中实现地图位置选择功能的解决方案。由于uni.chooseLocation功能受限,采用高德地图API自主开发。系统由父组件poiMap.vue(负责展示和跳转)和子组件poiBox.vue(核心地图逻辑)构成,通过父子组件通信传递位置数据。关键技术包括:1)使用AMapLoader动态加载地图SDK;2)集成PositionPicker实现拖拽选点;3)异步加载AMapUI插件;4)通过事件监听获取位置详情(地址/经纬度)。

大胆尝试,小心实践 734

angularjs中父,子,兄之间controller值得传递

使用angularjs,发现controller间的值传递,比较麻烦的,以后几篇文章会陆续说几种方法。 一,angularjs $broadcast $emit $on的处理思想 在一个controller里面通过事件触发一个方法,在方法里面通过$broadcast或$emit来定义一个变量,在父,子controller里面通过$on来获取。 二,实例说明angularjs $broa...

weixin_33766805的博客 102

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

angular同一个页面多个controller值传递

//父级 //自己 click me //子级 //平级 phonecatControllers.controller('SelfCtrl', function($scope) { $scope.click = function () {

chenhua4088的专栏 1万+

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Angularjs中的事件广播(全面解析$broadcast,$emit,$on)

下面小编就为大家带来一篇Angularjs中的事件广播 —全面解析$broadcast,$emit,$on。小编觉得挺不错的,现在分享给大家,也给大家做个参考,一起跟随小编过来看看吧 Angularjs中不同作用域之间可以通过组合使用$broadcast,$emit,$on的事件广播机制来进行通信 介绍: $broadcast的作用是将事件从父级作用域传播至子级作用域,包括自己。格式如下

js_admin的博客 4169

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

angularJS的controller之间如何正确的通信

AngularJS中的controller是个函数,用来向视图的作用域($scope)添加额外的功能,我们用它来给作用域对象设置初始状态,并添加自定义行为。 当我们在创建新的控制器时,angularJS会帮我们生成并传递一个新的$scope对象给这个controller,在angularJS应用的中的任何一个部分,都有父级作用域的存在,顶级就是ng-app所在的层级,它的父级作用域就是$root...

weixin_30745641的博客 362

angularjs $broadcast 和 $on 的使用及其注意事项

在同一页面时候,一般会有不同的ctr控制不同的模块,那么要在不同的ctr之间传递事件就需要用到 broadcast和broadcast 和on来传播和接收事件 下面是demo:<div ng-controller="ParentCtrl"> www.111cn.net //父级 <div ng-controller="SelfCtrl">

Four的博客 1万+
上一篇: 如何快速查看将C反汇编的代码
下一篇: 理解$watch ,$apply 和 $digest --- 理解数据绑定过程
爬虫仔蛙
博客等级 码龄15年 62粉丝 185原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值