import Vue from 'vue' const bus = new Vue() export default bus
<!--html结构-->
<template>
<div>
<p>我是add组件的num:{{num}} </p>
<button @click='add'>增加</button>
</div>
</template>
// js
<script>
import bus from '../bus.js'
export default {
data() {
return {
num: ''
}
},
methods: {
add() {
if (this.num) {
this.num++
bus.$emit('num-change', this.num)
} else {
this.num = 1
bus.$emit('num-change', this.num)
}
}
}
}
</script>
<!--html结构-->
<template>
<div>
<p>我是sub组件的num:{{num}}</p>
</div>
</template>
// js
<script>
import bus from '../bus.js'
export default {
data() {
return {
num: ''
}
},
created() {
bus.$on('num-change', num => {
this.num = num
})
}
}
</script>
<!--html结构-->
<template>
<div id="app">
<h1>我是app父组件的newNum:{{share.newNum}}</h1>
<hr>
<!--将同一个对象同时传给两个子组件-->
<addnum :share1='share'></addnum>
<hr>
<subnum :share2='share'></subnum>
</div>
</template>
// js
import addnum from './components/add'
import subnum from './components/sub'
export default {
data() {
return {
share: {
newNum: 1
}
}
},
components: {
addnum, subnum
}
}
<!--html结构-->
<template>
<div>
<p>我是add组件的newNum:{{share1.newNum}} </p>
<button @click='add'>增加</button>
</div>
</template>
//js
<script>
export default {
methods: {
add() {
this.share1.newNum++
}
},
props: {
share1: {
type: Object,
}
}
}
</script>
<!--html结构-->
<template>
<div>
<p>我是sub组件的newNum:{{share2.newNum}}</p>
<button @click='numSub'>减少</button>
</div>
</template>
// js
<script>
export default {
methods: {
numSub() {
this.share2.newNum--
}
},
props: {
share2: {
type: Object,
}
}
}
</script>
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有