当前位置: 首页 > news >正文

建设网上商城网站的目的和意义上海外贸公司电话

建设网上商城网站的目的和意义,上海外贸公司电话,自适应h5网站模板,广东网站建设文章目录 一、事件总线二、什么是事件总线三、触发事件1、监听事件2、只监听一次3、移除监听4、触发事件注意事项5、代码示例6、注意事项 一、事件总线 除了父子组件传参之外,兄弟组件之间共享信息也是我们经常会遇到的。如果遇到这类问题,我们现在可以…

文章目录

  • 一、事件总线
  • 二、什么是事件总线
  • 三、触发事件
    • 1、监听事件
    • 2、只监听一次
    • 3、移除监听
    • 4、触发事件注意事项
    • 5、代码示例
    • 6、注意事项

一、事件总线

除了父子组件传参之外,兄弟组件之间共享信息也是我们经常会遇到的。如果遇到这类问题,我们现在可以借助vuex,或者把数据统一放在他们父组件中处理。这两种方式都可以解决兄弟组件传递信息的问题。我们今天要介绍的是另一种方式-事件总线,事件总线也是我们开发过程中经常会用到的一种开发模式。

二、什么是事件总线

事件总线可以作为组件沟通的桥梁,就像是所有组件共用相同的事件中心,可以向该中心注册发送事件或接收事件,所以组件都可以上下平行地通知其他组件,但也就是太方便所以若使用不慎,就会造成难以维护的灾难,因此才需要更完善的Vuex作为状态管理中心,将通知的概念上升到共享状态层次。

三、触发事件

在uni中可以通过uni.$emit(eventName,OBJECT)来触发全局的自定事件。附加参数都会传给监听器回调。
代码示例

uni.$emit('update',{msg:'页面更新'})

1、监听事件

uni.$on(eventName,callback)
监听全局的自定义事件。事件可以由 uni.$emit 触发,回调函数会接收所有传入事件触发函数的额外参数。
代码示例

uni.$on('update',function(data){console.log('监听到事件来自 update ,携带参数 msg 为:' + data.msg);
})

2、只监听一次

uni.$once(eventName,callback)
监听全局的自定义事件。事件可以由 uni.$emit 触发,但是只触发一次,在第一次触发之后移除监听器。
代码示例

  uni.$once('update',function(data){console.log('监听到事件来自 update ,携带参数 msg 为:' + data.msg);})

3、移除监听

uni.$off([eventName, callback])
移除全局自定义事件监听器

4、触发事件注意事项

  • 如果没有提供参数,则移除所有的事件监听器;
  • 如果只提供了事件,则移除该事件所有的监听器;
  • 如果同时提供了事件与回调,则只移除这个回调的监听器;
  • 提供的回调必须跟$on的回调为同一个才能移除这个回调的监听器;

5、代码示例

$emit$on$off常用于跨页面、跨组件通讯,这里为了方便演示放在同一个页面

<template><view class="content"><view class="data"><text>{{val}}</text></view><button type="primary" @click="comunicationOff">结束监听</button></view></template><script>export default {data() {return {val: 0}},onLoad() {setInterval(()=>{uni.$emit('add', {data: 2})},1000)uni.$on('add', this.add)},methods: {comunicationOff() {uni.$off('add', this.add)},add(e) {this.val += e.data}}}</script><style>.content {display: flex;flex-direction: column;align-items: center;justify-content: center;}.data {text-align: center;line-height: 40px;margin-top: 40px;}button {width: 200px;margin: 20px 0;}</style>

6、注意事项

  • uni.$emituni.$onuni.$onceuni.$off 触发的事件都是 App 全局级别的,跨任意组件,页面,nvue,vue 等
  • 使用时,注意及时销毁事件监听,比如,页面 onLoad 里边 uni.$on 注册监听,onUnload 里边 uni.$off 移除,或者一次性的事件,直接使用 uni.$once 监听
  • 在vue中也可以通过EventBus(事件总线)的方式进行兄弟组件的传值
http://www.yayakq.cn/news/340112/

相关文章:

  • 怎样把网站上传到空间河北邯郸邮政编码
  • 广州哪些做网站的公司为企业做网站
  • 网站建站企业美食网站开发的目的和意义
  • 外贸企业网站系统源码微信网站开发语言
  • 网站开发要网站制作全包多少钱
  • 订制型网站费用海西网站建设哪家好
  • 怎么查看域名是一级还是二级域名seo外链收录
  • 自己做微博的网站网页播放的视频如何下载
  • 自助申请海外网站方正悠黑使用网站建设侵权么
  • 太原谁想做网站营销网站费用
  • 西安网站建设缑阳建网站设计设计目的
  • 网站认领ps做网站顶部
  • htm商城网站开发自媒体seo是什么意思
  • 网络科技公司网站建设浙江大成建设集团有限公司网站
  • 秦皇岛建设网站做好评做销量的网站
  • 帮人做任务的网站设计方案包括哪些内容
  • 中国网通做网站成品1688网站
  • 做阿里巴巴1688网站程序厦门专业网站建设公司
  • 开发网站平台dw可以做有后台的网站么
  • 龙岗建设高端网站棋牌软件挂脚本定制开发
  • 扎金花网站怎么做php微网站开发
  • 网站是如何建设的辽宁省工程造价信息网官网
  • 如何配置 网站二级域名南宁网约车资格证模拟考试
  • 做新的网站企业网站备案时间
  • 赣州市建设工程质量监督管理站网站seo公司哪家好
  • 摄影网站图片网站平台搭建怎么弄的
  • 网站原创内容深圳设计公司前十名
  • 网站怎么php做微信登录茶酒行业网站建设
  • 去什么网站找做电影的素材孔宇seo
  • 重庆制作网站有哪些做网站注册35类哪几个小项