知乎其微 vue0 评论 15 阅读前天 15:39:41 举报
vue 的路由传参只能接受单个变量形式的参数, 如果遇到我们需要传递一组对象或数组, 使用该种方法就行不通了!
1. 创建一个中间仓库来存放我们的数据
- // bus.js
- import Vue from 'vue'
- export default new Vue
2. 传递数据的组件
- import Bus from 'bus.js' // 路径自己根据自己项目来
- export default { data () {
- return {
- data: [] // 假设这里是一个数组对象
- }
- },
- methods: {
- bus () {
- Bus.$emit('data', this.data)
- }
- }
- }
3. 接受数据的组件
- import Bus from 'bus.js' // 路径自己根据自己项目来
- export default {
- data () {
- return {
- data: [] // 接受数据
- }
- },
- mounted () {
- Bus.$on('data', (res) => {
- this.data = res
- })
- }
- }
来源: http://www.qdfuns.com/note/49488/984653592e270fc92d2375feed1c195d.html