三、说说Vue组件间的传值? 并说说如何跨级传值??

1、父组件传给子组件: 子组件通过props属性接收数据

2、子组件传给父组件:$emit() 方法进行传递参数

3、非父子组件之间的传值,兄弟组件间传值 eventBus(中央时间总线),可以看成一个中转站,用它传递事件和接收事件。发送数据用$emit()方法, 接收数据用$on接收(监听)。

4、provide 属性 和  inject属性 进行跨级传值,

provide () {
    return {
        keyname: { msg: this.msg } //必须写成对象的形式才是响应式
        // keyname: this.msg // 基本类型的数据(无法实现响应式)
    }
},
data () {
    return {
        msg: 'msg的值'
    }
},
// 后代组件
inject: ['keyname'], // 就像props 接收父组件的数据一样n

created () {
    // console.log(this.keyname);
    console.log(this.keyname.msg);
}

 

  

posted @ 2022-12-30 17:46  他她  阅读(269)  评论(0编辑  收藏  举报