vue 组件传值(父传子、子传父、兄弟传值)

799 阅读1分钟

1. vue的父子传值

image.png image.png

在父组件中 在子组件标签中自定义属性 message传递数据
在子组件的props中声明接收 可以设置数据类型、默认值等等

2. vue的子父传值

image.png

vue的子父传值 需要用到$emitv-on,在子组件使用$emit 来触发事件 父组件用v-on接收事件函数 函数参数为子组件的数据,接收后在父组件将数据赋值到data中。
如下图 点击按钮将子组件的数据传到父组件中

image.png image.png

3. vue的兄弟传值(非父子传值)

在兄弟传值中 我们需要先建立一个公共的bus 用来存取

image.png

我们需要将两个组件放在同一个父级组件中。 同时在兄弟两个组件中分别引入 bus.js 在哥哥组件中使用bus.$emit来触发事件 $emit中有两个参数:第一个参数是触发事件的事件名,第二个参数是传递的数据。
这时我们需要在弟弟组件中使用bus.$on监听事件触发 $on同样也有两个参数:第一个也是事件名,第二个则是一个函数, 函数参数是哥哥组件传递的数据。

image.png image.png image.png