目录 父传子 props provide和inject $attrs $listeners(可直接改变父组件中的值) .send(可直接改变父组件中的值) $parent(可直接改变父组件中的值) 子传父 1.ref(可直接修改子组件值) 2.this.$children (得到的为数组)(可直接修改子组件值) 3.$emit(分发事件形式) 4.通过插槽方式传给父组件 $bus(两个组件中传值) vuex 通过app.vue分发 父传子 props provide和inject 必须是两个存在关系的组件,不能在两个毫无关系的两个组件中传值,只能跨层级传值。 相关文章链接: 文章 . $attrs 例: 父组件中 子组件中,如果没有在props中接收,那么就会在this.$attrs中,如果接收了的话就不会在this. $attrs 中,如下图所示 $listeners(可直接改变父组件中的值) 可以在子组件中自定义事件,在子组件没有分发事件的前提下,如下图所示 父组件中: 子组件中: 原理:调用this. $listeners.send传进去一个值,会传到父组件中send方法中,然后进行改变数据的操作 .send(可直接改变父组件中的值) 需要在子组件中通过this. $emit分发事件方式第一个参数为事件名字,必须叫‘update:要修改的属性名’,第二个参数为修改的值