vue组件间传参

Posted cuishuangshuang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue组件间传参相关的知识,希望对你有一定的参考价值。

1、父组件向子组件传参

  (1)

    父组件传值

      <template>

        <div>

          <Nav  :title="msg"  :info="obj">

        </div>

      <template>

      data(){

        return{

          msg:标题,

          info:{name:‘xxx‘,sex:‘man‘}

        }

      }

 

    子组件接收

      第一种:

        props:[ ‘title‘, ‘info‘ ]

      第二种:

        props:{

          title:String,

          info:{

            name:String,

            sex:String

          }

        }

      第三种:

        props:{

          title:{

            type:String,

            default:‘主体‘

          }

        }

 

2、子组件向父组件传参

  子组件传参

    <template>

      <div>

        <button  @click="send( )">传参到父组件中</button>

      </div>

    </template>

    msg:‘传给父组件的参数‘

    send( ){this.$emit("child",msg)}

  

  父组件接收参数 

    <template>

      <div>

        <Nav  @child="receive( )" />

      </div>

    </template>

    receive( data ){console.log(data)}  data就是msg参数

 

3、子组件操作父组件中的方法

  父组件

    <Nav  :fun="add"  @child="receive( )" />

    title:5

    add( ){this.title = 10}

    receive( data ){data( )}

  子组件

    <button  @click="send( )">子组件</button>

    props:{

      fun:Function

    }

    send( ){this.$emit(‘child‘,this.fun)}

 

4、父组件获取子组件数据

    父组件

      <div  ref="div">父组件</div>

      <Nav  ref="nav"  />

      this.$refs.div.style.color = "red"  // 操作标签

      this.$refs.nav.msg  获取子组件msg的数据,也可以获取子组件的方法

    子组件

      <button>子组件</button>

      msg:‘子组件中的数据‘

 

5、兄弟组件传参

  父组件

    <testA  @child="receive( )" />

    <testB  :title="title"  />

    title:‘父组件数据‘

    receive( res ){this.title = res}

  子组件testA

    <div  @click="send( )">父组件</div>

    title:‘testA组件数据‘

    send( ){this.$emit("child",this.title)}

以上是关于vue组件间传参的主要内容,如果未能解决你的问题,请参考以下文章

vue组件间传参

vue非父子组件间传参问题

Vue 组件间传参

Vue 组件之间传参!

Vue组件间传值(超全,跨代)父传子,子传父,爷传孙,孙传爷,保姆级讲解

Vue五五组件间传值props,自定义事件传参,ref属性,全局事件总线,root/parent/children方法——provide/inject配置项——$attrs/$listeners