发布时间:2024-01-06 17:00
可以用过一个vue实例Bus作为媒介,要相互通信的兄弟组件之中,都引入Bus,之后通过分别调用Bus事件触发 e m i t 和 监 听 emit和监听 emit和监听on来实现组件之间的通信和参数传递,类似window的全局自定义事件。类似与子传父,只不过是利用一个新的vue示例作为媒介,而不是当前vue示例(this)
// bus.js
import Vue from 'vue';
export default new Vue;
// a.js
<template>
<div class='a'></div>
</template>
<script>
import Bus from 'bus.js' ;
export default {
name: "a",
created() {
// 在需要的传递数据的时候调用sendData方法,这里模拟调用
this.sendData();
},
methods: {
sendData () {
Bus.$emit('listenToA', 'hello');
}
}
}
</script>
// b.js
<template>
<div class='b'></div>
</template>
<script>
import Bus from 'bus.js';
export default {
name: "b",
monted() {
Bus.$on('listenToA', this.getAData);
},
methods: {
getAData (val) {
console.log(`a组件传递过来的数据: ${val}`); // hello
}
}
}
</script>
从这儿看的,一目了然,怕丢,记录一下
内卷严重~面试八股文层出不穷!唯2022版Java复盘手册有一战之力
【LVI-SAM论文全文翻译】: LVI-SAM: Tightly-coupled Lidar-Visual-Inertial Odometry via Smoothing and Mapping
Intelij Error:Kotlin: Unknown JVM target version: 11 Supported versions: 1.6, 1.8
R语言广义矩量法GMM和广义经验似然GEL估计ARMA、CAPM模型
10月15日深圳见!开放原子开源基金会·区块链工作组成立大会来了