【需补充】【vue】vue中父子互传、兄弟互传、无关组件互传的几种情况

一般,vue中数据传递有如下几种方法:

1.vuex(常用)

2.$listener $attrs(适合小型)

3.vue event bus(我没看过)


父子组件信息传递

父传子

  1. 利用props
  2. 利用ref获取子组件然后直接调用子组件的方法或者修改data中的值

子传父

  1. 利用$emit
  2. 利用this.$parent和$this.children
  3. 利用监听器,父组件绑定一个监听器,子组件利用props来接收,在子组件中去调用这个监听器,这样子父组件就能监听到触发某个方法,实现信息传递。例:

祖宗传给其后代

  1. vuex
  2. 爷给孙子methods通过$listeners, 例子:https://blog.csdn.net/weixin_40189786/article/details/104175555
  3. provide 和 inject(最好别用这个)

provide: 将信息(/对象)共享出去

inject: 接收信息(/对象)

App.vue


Son.vue




Grandson.vue



其他组件

vuex和event bus

他俩怎么传的我还不太会

不同路由

(1)可以使用vuex来传递信息,vuex就是一个信息存储的工具
(2)可以利用路由传参,这样子信息也可以到达另外一个路由页面上

你可能感兴趣的:(【需补充】【vue】vue中父子互传、兄弟互传、无关组件互传的几种情况)