两种方式:
a. bus总线传值;
b. 我自己一般把它当成常规的传值(其实也就是子组件A传父组件,父组件再传子组 件B)
一. bus总线传值的使用:
第一种:eventBus
新建一个js文件, 我这里叫做 bus.js;
文件内容:
import Vue from ‘vue’;
export default new Vue();
然后在你需要触发的 组件中引入 import bus from ‘文件路径’
执行:bus.$emit(‘触发名称’, 传输的数据 )
最后在你需要的通信的另一个组件中 mounted生命周期钩子中执行如下:
bus.$on(‘触发名称’, res => {
//写你需要的方法
})
二. 使用常规的传值:(子传父,父再传子)
新建组件three和four,在父组件注册并使用:
父组件监听到three组件要传给four组件的值:
接收到three组件的值后,传给four:
four组件接收父组件传达的值:
总结:
a. 其实就是使用 this.$emit(‘标志符’,’要传递的值’) 实现将该组件传给父组件;
b. 父组件中:通过需要向外传值的子组件标签的标志符,在自定义的方法中将值拿 到,并存起来,然后再用 :A=存值得属性这种格式 传给另外的子组件;
c. 另外的子组件中使用props[‘A’],将传过来的值拿到,并且在需要用的地方使用,
参考链接:https://baijiahao.baidu.com/s?id=1666564542300874209&wfr=spider&for=pc