用脚手架生成的项目中,不同的.vue组件文件传值,是不是只能用路由传值或者vuex,而不能用组件间的props方式传值了呢?
###组件间依然可以使用 props 方式传值,只是组件之间的层级变多了,一层层的写 props 传值管理起来麻烦,就用到了 vuex 作统一的状态管理。
还有一些传递值的方法:
- 通过事件总线的方式 把参数挂载到 vue 的原型链上,但是这样后期阅读的时候可能会忘记参数挂载的位置。
- 或者通过 provide/inject 的方式传值,实现祖先和后代元素间的传值
- $root](https://cn.vuejs.org/v2/api/#vm-root)/[$parent, $children 将通过一个共同的父辈组件对组件中的子辈进行传值
- $refs 获取组件的 dom 实例的方式进行传值
具体可以看 Vue2 的文档 处理边界情况 这个部分。
不知道是不是你想要的答案,如有不对之处欢迎指正??
###可以搜一下Vue的总线通信(eventBus),提供了一种在非父子组件间进行通信的方式,也很简单。