VUE子父组件通信实现点击显示余额
HTML代码
this.$emit()方法:触发事件快捷方式传两个值,第一个值为要触发事件的名字 第二个值为数据
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>子父组件通信</title>
</head>
<body>
<div id="seg1">
<balance></balance>
</div>
<script src="https://cdn.bootcss.com/vue/2.6.11/vue.js"></script>
<script src="index.js"></script>
</body>
</html>
JS代码
Vue.component('balance', {
template: '<div><show @show-balance="show_balance"></show><div v-if="show">您的余额为¥100元</div></div>',
data: function () {
return {
show: false,
}
},
methods: {
show_balance: function (data) {
this.show = true;
console.log('data:', data);
}
}
})
Vue.component('show', {
template: '<button @click="on_click()">显示余额</button>',
methods: {
on_click() {
this.$emit('show-balance', {
a: 1,
b: 2
})
}
}
})
var app = new Vue({
el: '#seg1'
})