浅谈Vue父子组件和非父子组件传值问题

2020-06-14 06:04:16易采站长站整理

使用一个空的 Vue 实例作为中央事件总线

传值步骤:

1.创建一个公用js组件 在组件内导出一个空的Vue实例,比如新建一个commonvue.js文件


import Vue from 'vue'

export default new Vue() //es6的写法
/**
* 相当于下面这样写
*
* const bus = new Vue()
* module.exports = bus
*/

2.在组件A中传递参数


bus.$emit('goodsCount',this.myCount)

3.在组件B中接收参数


bus.$on('goodsCount',(goodsCount)=>{
const oldVal = $("#badgeId").text()

const lastVal = parseInt(oldVal) + goodsCount
console.log(lastVal)
$("#badgeId").text(lastVal)
})