<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>06-组件通信-子传父-EventsUp</title>
<style>
.com-a {
padding: 5px;
border: 1px solid #000;
}
</style>
<!-- -->
</head>
<body>
<div id="app">
<h1>06-组件通信-子传父-EventsUp</h1>
<com-a @hello="handleHello"></com-a>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.10/dist/vue.js"></script>
<script>
Vue.component('com-a', {
template: `
<div class="com-a">
<p>com-a 组件</p>
<p>{{ count }}</p>
<button @click="handleIncrement">点击+1</button>
<button @click="handleClick">测试</button>
</div>
`,
data () {
return {
count: 0
}
},
methods: {
handleIncrement () {
this.count += 1
// 发布一个自定义事件,通知父组件
this.$emit('hello', this.count)
},
handleClick () {
// 然并卵,了解即可,你是无法预知将来这个组件要在哪里去使用
// console.log(this.$parent)
// 所以在这里想要收到一些数据,最好方式让父组件通过 props 传下来
// 访问父组件数据:props 声明接收
// 修改父组件数据:Events Up
// 无法直接去修改
// 只能告诉父组件,我给你一个要修改的数据
// 然后父组件收到通知,自己去自己
}
}
})
const app = new Vue({
el: '#app',
data: {},
methods: {
handleHello (data) {
console.log(data)
}
}
})
</script>
</body>
</html>
Vue(子传父-EventsUp)
最新推荐文章于 2024-03-25 13:01:07 发布