子傳父
阿新 • • 發佈:2021-08-30
1.子元件view
<template>
<div>
<button @click="add()">+1</button>
</div>
</template>
<script>
export default {
data() {
return {
count: 0,
};
},
methods: {
add() {
this.count += 1;
// 修改資料時,通過$emit()觸發自定義事件
this.$emit("numchange", this.count);
},
},
};
</script>
<style scoped>
div {
background-color: blueviolet;
}
</style>
2.父元件App.view
1.父元件需要import引入子元件的元件
import Views from "./views/views.vue";
-
components掛載Views
-
在佔位符中引用子元件的自定義事件numchange
<views @numchange="getNewCount"></views>
4.在methods方法中定義這個自定義事件的點選事件,
val值是接受的子元件傳遞的this.count值
getNewCount(val) {
this.countFromson = val
},App.vue
getNewCount不需要加(),加括號後 methods中的getNewCount(val)是拿不到值得
<template>
<div>
<views @numchange="getNewCount"></views>
<p>來自子元件的值