三、说说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); }