1. 开发环境 vuecli3
2. 电脑系统 windows10 专业版
3. 在应用 vue 开发的过后中, 咱们常常会遇到组件传值的问题, 上面我来分享一下 vue 中子组件向父组件传值的办法, 心愿对你有所帮忙。
4. 废话不多说, 间接上代码:
// 父组件代码:
<template>
<div>
<p> 我是父组件 </p>
<Chenperson1 :method="parentMethod"></Chenperson1>
</div>
</template>
<script>
import Chenperson1 from "@/components/Chenperson1.vue";
export default {
name: "ChenPerson",
components: {Chenperson1,},
data() {return {};
},
mounted() {},
methods: {parentMethod(valueFromChild) {console.log('From the child:', valueFromChild);
},
},
};
</script>
<style>
</style>
// 子组件代码:
<template>
<div>
<p> 我是子组件一 </p>
</div>
</template>
<script>
export default {
name: "Chenperson1",
props: {method: { type: Function},
},
data() {
return {chenvalue:"I am the child",};
},
mounted() {this.method(this.chenvalue);
},
methods: {ggg(){}},
};
</script>
<style>
</style>
成果如下:
5. 尽管下面的办法解决了子组件向父组件传值的问题, 只是这不是在 Vue 中的最佳形式。相同, 事件更适宜解决这个问题。咱们能够应用事件来实现完全相同的事件。
// 父组件代码:
<template>
<div>
<p> 我是父组件 </p>
<Chenperson1 @send-message="handleSendMessage"></Chenperson1>
<button @click="gochild"> 去子组件一 </button>
</div>
</template>
<script>
import Chenperson1 from "@/components/Chenperson1.vue";
export default {
name: "ChenPerson",
components: {Chenperson1,},
data() {return {};
},
mounted() {},
methods: {handleSendMessage(event, value) {console.log('From the child:', event);
},
gochild() {this.$router.push({ name: "chenperson1"});
},
},
};
</script>
<style>
</style>
// 子组件代码:
<template>
<div>
<p> 我是子组件一 </p>
</div>
</template>
<script>
export default {
name: "Chenperson1",
props: {method: { type: Function},
},
data() {
return {chenvalue:"I am the child",};
},
mounted() {this.$emit('send-message', this.chenvalue);
},
methods: {ggg(){}},
};
</script>
<style>
</style>
成果如下:
6. 本期的分享到了这里就完结啦, 心愿对你有所帮忙, 让咱们一起致力走向巅峰。