$broadcast:

broadcast事件是由父组件发起,所有子组件都会收到此广播事件,除非事件被手动取消。事件广播的顺序为广度优先搜索顺序,如上图,如果页面PageIndex发起一个broadcast事件是由父组件发起,所有子组件都会收到此广播事件,除非事件被手动取消。事件广播的顺序为广度优先搜索顺序,如上图,如果页面Page_Index发起一个broadcast事件是由父组件发起,所有子组件都会收到此广播事件,除非事件被手动取消。事件广播的顺序为广度优先搜索顺序,如上图,如果页面PageI​ndex发起一个broadcast事件,那么按先后顺序依次接收到该事件的组件为:ComA、ComB、ComC、ComD、ComE、ComF、ComG、ComH。如下图

理解官方意思就是:如果通过当前组件进行$broadcast广播事件,那么就只有它的子组件能接收事件,它的父组件和兄弟组件是无法接收到消息。调用方式如下:

    this.$broadcast('eventName', param1,param2,param3,......)然后在子组件的events里面定义eventName接收事件就行了,如下:events = {'eventName': (param1,param2......., $event:Event) => {}}

$emit

emit与emit与emit与broadcast正好相反,事件发起组件的所有祖先组件会依次接收到$emit事件。如果组件ComE发起一个 $emit事件,那么接收到事件的先后顺序为:组件ComA、页面Page_Index。如下图:

理解官方的意思就是:如果通过当前组件进行$emit广播事件,那么就只有它的父组件能接收事件,它的子组件和兄弟组件是无法接收到消息。调用方式如下:

    this.$emit('eventName', param1,param2,param3,......)然后在父组件的events里面定义eventName接收事件就行了,如下:events = {'eventName': (param1,param2......., $event:Event) => {}}

$invoke

$invoke是一个页面或组件对另一个组件中的方法的直接调用,通过传入组件路径找到相应的组件,然后再调用其方法。

比如,想在页面Page_Index中调用组件ComA的某个方法:

this.$invoke(‘ComA’, ‘someMethod’, ‘someArgs’);

如果想在组件ComA中调用组件ComG的某个方法:

this.$invoke(’./…/ComB/ComG’, ‘someMethod’, ‘someArgs’);

理解官方的意思就是:如果通过当前组件进行$invoke触发事件,如果父组件已经在components里面引入了子组件就可以直接通过invoke来单独向子组件发送事件;如果是子组件之间的事件交互,第一个参数就需要对应组件的路径。调用方式如下:

父组件向子组件发送事件:

this.$invoke('子组件,必须要单引号括起来', '子组件方法名称',  param1,param2,param3.......);

子组件间发送事件:

this.$invoke(‘子组件的相对路径’, ‘子组件方法名称’, param1,param2,param3…);

微信小程序Wepy框架的三个事件交互($broadcast,$emit,$invoke)相关推荐

  1. 理解微信小程序Wepy框架的三个事件交互$broadcast,$emit,$invoke

    $broadcast: $broadcast事件是由父组件发起,所有子组件都会收到此广播事件,除非事件被手动取消.事件广播的顺序为广度优先搜索顺序,如上图,如果页面Page_Index发起一个$bro ...

  2. 微信小程序wepy框架快速入门

    微信小程序wepy框架快速入门 微信小程序简介 微信小程序,简称小程序,英文名Mini Program,是一种不需要下载安装即可使用的应用,它实现了应用"触手可及"的梦想,用户扫一 ...

  3. 微信小程序wepy框架编译生成dist目录

    微信小程序wepy框架编译生成dist目录(微信小程序原生语言) 坑:如果提示sass没有安装的错误,但按提示的命令仍无法成功安装,就是node npm版本的问题,经测试发现node  v10.14. ...

  4. 微信小程序 wepy 框架 手势密码 ios 安卓 真正的无卡顿

    微信小程序 wepy 框架 手势密码 ios 安卓 真正的无卡顿 https://github.com/t5442107/yj_wepy_gesture_lock 用vscode 打开测试! 下载 h ...

  5. 关于微信小程序wepy框架下wx-charts的使用

    wx-charts在微信小程序wepy框架下的使用 wx-charts 微信小程序主流的图表工具 基于 Canvas,体积小 支持图表类型 饼图 pie 圆环图 ring 线图 line,scroll ...

  6. 微信小程序wepy框架开发资源汇总

    开源项目 wepy-wechat-demo:基于wepy开发的仿微信聊天界面小程序 深大的树洞:基于wepy开发的树洞类微信小程序 wepy-demo-bookmall:微信小程序??代码示例,使用w ...

  7. 微信小程序wepy框架资源汇总

    微信小程序wepy开发资源汇总 ! wepy官方仓库 wepy官方文档 开源项目 wepy-wechat-demo:基于wepy开发的仿微信聊天界面小程序 深大的树洞:基于wepy开发的树洞类微信小程 ...

  8. 微信小程序wepy框架+minui踩坑之路

    近期项目涉及微信小程序,鉴于原生小程序文件结构过于复杂,决定使用wepy框架开发 wepy框架类似Vue的MVVM开发模式,并且支持promise与ES7 asnyc异步函数,记录一 下项目开发过程中 ...

  9. 微信小程序Wepy框架——ThirdScriptError解决方法

    微信小程序报错ThirdScriptError 我使用的是wepy框架,后台实时进行编译,微信开发者工具作为界面展示 错误信息如下: 解决方法如下: 第一眼看到这个错误,根据错误信息TypeError ...

最新文章

  1. linux内核功能有,好消息!LINUX内核2.6.18终于支持实时功能了
  2. 弯曲圆波导matlab_弯曲波导结构设计
  3. 开关电源PCB排版基本要点概述
  4. Nginx使用HTTP基本身份验证限制访问
  5. 不懂网络和懂一点的区别
  6. Flex 开发android程序键盘遮挡输入框解决方案
  7. MySQL读写分离介绍及搭建
  8. Cocoa教学:Windows OOP与Cocoa MVC之对比
  9. Log4j日志配置详解
  10. java 咖啡 典故,解读六大咖啡种类 常见咖啡种类及特点、背后典故、历史和定义...
  11. 如何获取微信小店小程序的AppID
  12. 工厂模式总结——三个工厂
  13. 「Ubuntu」ubuntu18.04键盘输入卡顿、延迟输入
  14. 湖北文理学院数学与计算机科学学院,以德为本严要求 以勤为先勇创新——记湖北文理学院数学与计算机科学学院执行院长 吴 钊-湖北文理学院校报电子版《湖北文理学院报》...
  15. linux ibus 快捷键,Ubuntu下ibus-sunpinyin的安装及翻页快捷键设置
  16. PyOpenGL报错OpenGL.error.NullFunctionError: Attempt to call an undefined function glutInit, check for
  17. 给大家推荐一个免费好用的ico图标、png、icns下载地址!
  18. EduCoder-Linux与Python编程2021(顺序与选择结构)
  19. JSP中四大作用域和九大内置对象
  20. flash写保护原理_【转】NOR Flash擦写和原理分析

热门文章

  1. $.prop()和$.attr() 区别用法
  2. CCF201403-2 窗口
  3. CCF201503-1 图像旋转
  4. eclipse启动mysql报错_Eclipse+mysql+java Eclipse中运行没有问题,但打包后运行不了,也不报错,求高手指点...
  5. 抢鲜体验:openGauss从源码到主备
  6. DBA/运维人员近期直播活动日历
  7. 特别推荐:系统性能提升优先法宝 | 缓存应用实践
  8. 面试必问:Java 垃圾回收机制
  9. 从数据仓库双集群系统模式探讨,看GaussDB(DWS)的容灾设计
  10. 30秒,2种方法解决SQL Server的内存管理问题