vue如何实现非父子组件传值
vue如何实现非父子组件传值,下面编程教程网小编给大家详细介绍一下实现代码!
实现代码如下:
1、新建bus.js
import Vue from 'vue'
export default new Vue()
2、新建组件A
<template>
<div>
A组件:
<span>{{elementValue}}</span>
<input type="button" value="点击触发" @click="elementByValue">
</div>
</template>
<script>
// 引入公共的bug,来做为中间传达的工具
import Bus from './bus.js'
export default {
data () {
return {
elementValue: 4
}
},
methods: {
elementByValue: function () {
Bus.$emit('val', this.elementValue)
}
}
}
</script>
3、新建组件B
<template>
<div>
B组件:
<input type="button" value="点击触发" @click="getData">
<span>{{name}}</span>
</div>
</template>
<script>
import Bus from './bus.js'
export default {
data () {
return {
name: 0
}
},
mounted: function () {
var vm = this
// 用$on事件来接收参数
Bus.$on('val', (data) => {
console.log(data)
vm.name = data
})
},
methods: {
getData: function () {
this.name++
}
}
}
</script>
以上是编程学习网小编为您介绍的“vue如何实现非父子组件传值”的全面内容,想了解更多关于 vuejs 内容,请继续关注编程基础学习网。