美文网首页vue
vue中父子组件传值(通俗易懂)

vue中父子组件传值(通俗易懂)

作者: 七分热度丶 | 来源:发表于2019-10-26 00:46 被阅读0次

1.父子组件传值

首先我要说的是父组件如何向子组件传值
传的值分为静态值和动态值

1.传静态值

        //这是父组件
        <city-header title="123"></city-header>//把title传给子组件     
  //这是子组件
    export default {
      props:"title",//在子组件接收父组件传来的值用prop来接收
    }

2.传动态值

        //这是父组件
        //用v-bind绑定可传动态的值
        <city-header :weekendList="weekendList"></city-header>//把title传给子组件     
    export default {
        data (){
          return{
            weekendList:[]//数组里面的内容是从后端接口获取的动态值
          }
      },
   }
  //这是子组件
    export default {
      props:{
            weekendList:Array
             default: [0,1,2,3,4]//如果为空值则使用默认的
        }//在子组件接收父组件传来的值用prop来接收
    }

当然,你传的值可以是数字、对象、数组等等,参见vue官网

以上就是单向数据流的一般表现了: 父级 prop 的更新会向下流动到子组件中,但是反过来则不行。

2、子组件向父组件传值

上面说了父组件向子组件传值用prop向下传递,那么子组件向父组件传值呢?其实子组件向父组件传值通过触发$emit方法向上传递

image.png

这是vue官方文档的一张图片,简约而不简单。大概意思就是:
父组件通过prop给子组件下发数据,子组件通过emit事件给父组件发送信息。
使用$emit(eventName,optionalPayload)触发事件。另外,父组件可以在使用子组件的地方直接用v-on来监听子组件触发的事件。
接下来给你们看个实例吧。

<!-- 父组件 -->
<template>
    <div>
      <home-header @childDemo="parentDemo"></home-header>
      <br/> 
      子组件传来的值 : {{message}}
    </div>
</template>-+



<script>
export default {
    // ...
    data: {
        message: ''
    },
    methods: {
       parentDemo(childVaule) {//childVaule是子组件传过来的值
        this.message = childVaule;
      }
    }
}
</script>
<!-- 子组件 -->
<template> 
<div>
    <input type="text" v-model="message" />
    <button @click="click">点击</button>
</div>
</template>
<script>
export default {
    data() {
        return {
          // 默认
          message: '我是来自子组件的消息'
        }
    },
    methods: {
      click() {
          //通过$emit触发childDemo事件,顺便把message传递过去
            this.$emit('childDemo', this.message);
        }
    }    
}
</script>

当点击按钮的时候使用$emit()触发事件,把message传给父组件。

这样我们就基本实现了子组件向父组件传值了。

相关文章

  • (VUE3) 四、组件传值(父子组件传值 & 祖孙组件传值 &v

    1.父子组件传值 vue2中的父子组件传值:父组件: 子组件: vue3中的父子组件传值: 还是用props接收父...

  • Vue父子组件通信和双向绑定

    本篇文章主要介绍父子组件传值,组件的数据双向绑定。 1. 基础父子组件传值 父子组件传值,这是Vue组件传值最常见...

  • VUE组件(传值,生命周期)

    VUE生命周期 VUE子传父组件通信 VUE非父子组件传值

  • vue中父子组件传值

    vue中父子组件传值是经常使用的场景 父组件向子组件中传值 父组件 子组件 父组件向子组件中传值分三步1、在父组件...

  • 组件通信

    vue传值可分为父子之间传值、兄弟组件之间传值、跨代组件之间传值 1.父子之间传值:可以使用$emit/props...

  • Vue组件之间的传值

    Vue父子组件之间的传值(props)兄弟组件 VUEX

  • 前端基础搬运工-VUE模块

    十、VUE模块 基础部分 1. Vue组件间传值 答: -[ ] 1.父子之间的传值 父组件向子组件传值通过p...

  • 2019-03-13

    vue父子组件传值,(父组件向子组件传值用prop ,子组件向父组件传值:子组件调用父组件方法值以参数的方式传递)...

  • 2019-03-13

    vue父子组件传值,(父组件向子组件传值用prop ,子组件向父组件传值:子组件调用父组件方法值以参数的方式传递)...

  • vue2.0的三种常用传值方式,并且如何实现?

    vue2.0 组件传值方式有三种:父组件向子组件传值,子组件向父组件传值,非父子组件传值 : 父传子: 首先现在父...

网友评论

    本文标题:vue中父子组件传值(通俗易懂)

    本文链接:https://www.haomeiwen.com/subject/znohmctx.html