欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Vue父子组件之间的传值

程序员文章站 2022-03-28 19:07:42
1.vue是如何进行父子组件之间的传值的 a.父子组件之间通过props b.子父组件之间通过$emit 2.简单demo描述 父组件包含一个点击按钮,用于改变子组件的显示与隐藏; 子组件只有一张图片,以及通过点击图片改变父组件的button的值; 3.实现 父组件 子组件 ......

1.vue是如何进行父子组件之间的传值的

   a.父子组件之间通过props

   b.子父组件之间通过$emit

2.简单demo描述

   父组件包含一个点击按钮,用于改变子组件的显示与隐藏;

   子组件只有一张图片,以及通过点击图片改变父组件的button的值;

3.实现

   父组件

   

<template>
  <div id="app">
    <child :showtab="showtable"  @parentchange="ccc"/> 
    <button @click="changetable">{{buttonval}}</button>
  </div>
</template>

<script>
import child from './components/child'

export default {
  name: 'app',
  components: {
      child
  },
  data(){
    return{
      showtable:true,
      buttonval:"点击改变"
    }
  },
  methods:{
    changetable(){
      this.showtable = !this.showtable;
    },
    ccc(data){
      this.buttonval = data;
    }
  }
}
</script>    

 

   子组件

<template>
    <div id="child" v-show="showtab">
        <div class="box">
            <img src="../../assets/settings.png" 
 @click="changeparent">
        </div>
  </div>
</template>

<script>
    export default {
        name: "child",
        props:{
          showtab:{      //父组件传过来的值
            type:boolean
          }
        },
        methods:{
          changeparent(){
            this.$emit("parentchange","change");   //向父组件进行传值
          }
        }
    }
</script>