Vue中父子组件之间传值 ,兄弟组件之间传值(两种方法)

 一。父向子传值props

父组件向子组件传值: 
parent:

<parent>
    <child :message="msg"></child>  //父组件发送
</parent>

data(){
    return {
        msg: "this is parent message"
    }
}

child:

<div>
    <p>{{message}}</p>
</div>

data(){
    props:["message"]      //子组件进行接收
    }

or

props: {
    message: {
        type: String,                 //可指定接收类型,如:Array.
        default:"this is default"     //可设置默认值
    }
}

props: {
    message: {
        type: Array,
        default: ['foo','bar','baz']   //默认值
    }
}

父组件::message="msg" 向子组件发送

子组件:props:[‘message’] 接收

注意:若父组件中没有用v-bind,子组件中接收的是mes字符串
 

其中props对象写法中可以定义属性 :

type.    default    required  三个属性

props:{

message:{
  
type:Number/String/Array......     //定义接收值的类型

default:0                           //定义默认值 

required:true/false            v //定义必填项,不填将报错,那怕有默认值也报错


}

}

二。子向父传值 (自定义事件)

父组件:this.$emit()进行发送

子组件:自定义事件进行接收

三,兄弟组件之间的通信

 步骤:1.创建eventBus.js,并共享一个Vue实例

 

            2.发送方:向导入eventBus.js,调用bus.$emit()

             3.接收方:向导入eventBus.js,调用bus.$on()

注意:如果 $on 多次触发,解决办法就是在 beforeDestroy 或 destroy 中将事件销毁,使用 $off()。

	beforeDestroy () {
      bus.$off('pass')
    },

 还有一种办法是:子->父->子

Vue高频面试题 生命周期函数详解

Vue知识点总结

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr.指尖舞者

如果帮助到了你,请给点赞助支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值