Vue自定义监听事件

父子通信,兄弟通信,操作配置往往显得很繁琐,如果是两个爷孙之间,或者姑侄之间呢。。。。。

因此需要有一种简单的方式来进行通信,公共参数也可以用来传数据,但不能触发调用远处的方法。

这里一共三步

1、创建一个vue实例Event作为监听事件的载体,把它设置全局变量

(当然也可以不用这一步,直接用根vue作为载体,但不知道会不会对系统有什么影响)

main.js

......
......
var Event = new Vue();
Vue.prototype.$event=Event;
new Vue({
  render: h => h(App),
}).$mount('#app')

2、设置监听

如果你设置了第一步,如下设置监听:(如果没用过$on需要先自行学习一下,第一个是事件名,官网说系统会将该名字全部转为小写,而出现触发不到的情况)

//不传参数
this.$event.$on('event_name', () => {
  ......
  ......
});


//传参数
this.$event.$on('event_name', (arg1,arg2,...) => {
  ......
  ......
});

如果你没有设置第一步,如下设置监听:

//不传参数
this.$root.$on('event_name', () => {
  ......
  ......
});


//传参数
this.$root.$on('event_name', (arg1,arg2,...) => {
  ......
  ......
});

3、触发监听

//不传参数
this.$event.$emit('event_name');

//传参数
this.$event.$emit('event_name',arg1,arg2,.....);



//不传参数
this.$root.$emit('event_name');

//传参数
this.$root.$emit('event_name',arg1,arg2,.....);

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值