Vue组件父类和子类之间传值

xiaoxiao2021-02-28  42

因Vue组件之间值不能共享,所以需要通过内部指定属性进行传递。(PS:驼峰命名,标签引用是要用-隔开)

一,父类组件向子类组件传值

<body> <div id="app"> <user-Parent-Comp></user-Parent-Comp> </div> </body> <script> var vm = new Vue({ el: '#app', components: { 'userParentComp': { template: '<h1>I am a parent component.---{{parentVal}}<br/><userChildComp :childVal="fromParentVal"/></h1>', data() { return { parentVal: 'I am the value of a parent class. ', fromParentVal: 'I am a value from the parent class. ' } }, components: { 'userChildComp': { props: ['childVal'], template: '<p>I am a child component.---{{childVal}} </p>' } } } } }) </script>

运行效果:

二、子组件传值到父组件。

<body> <div id="app"> <user-Parent-Comp></user-Parent-Comp> </div> </body> <script> var vm = new Vue({ el: '#app', components: { 'userParentComp': { template: '<h1>I am a parent component.---{{fromChildVal}} <userChildComp @upParamsFun="fillValFun"></userChildComp></h1>', data() { return { fromChildVal: 'default parentVal' } }, methods: { fillValFun(upVal) { this.fromChildVal = upVal; } }, components: { 'userChildComp': { data() { return { fromChildVal: 'I am a value from the child class. ' } }, template: '<p v-on:click="userFun">I am a child component.点击我就发送数据到父组件 </p>', methods: { userFun() { this.$emit('upParamsFun', 'I am a value from the child class.'); } } } } } } }) </script>

运行效果:

步骤一:点击前

步骤二:点击后

 
转载请注明原文地址: https://www.6miu.com/read-2612388.html

最新回复(0)