.vue文件组件之间的传值方式

用脚手架生成的项目中,不同的.vue组件文件传值,是不是只能用路由传值或者vuex,而不能用组件间的props方式传值了呢?

阅读 2k
2 个回答

组件间依然可以使用 props 方式传值,只是组件之间的层级变多了,一层层的写 props 传值管理起来麻烦,就用到了 vuex 作统一的状态管理。

还有一些传递值的方法:

  1. 通过事件总线的方式 把参数挂载到 vue 的原型链上,但是这样后期阅读的时候可能会忘记参数挂载的位置。
  2. 或者通过 provide/inject 的方式传值,实现祖先和后代元素间的传值
  3. $root](https://cn.vuejs.org/v2/api/#vm-root)/[$parent, $children 将通过一个共同的父辈组件对组件中的子辈进行传值
  4. $refs 获取组件的 dom 实例的方式进行传值

具体可以看 Vue2 的文档 处理边界情况 这个部分。

不知道是不是你想要的答案,如有不对之处欢迎指正👀

可以搜一下Vue的总线通信(eventBus),提供了一种在非父子组件间进行通信的方式,也很简单。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进