为了账号安全,请及时绑定邮箱和手机立即绑定

vue router 传props 参数的问题

vue router 传props 参数的问题

ITMISS 2019-03-04 15:11:50
如图我想传一个数据对象给urlsection组件,而内容需要请求route.query所以用fetch请求了一下,得到结果return回去,得到props:{defineData:{}}的格式但是子组件没有接到名为defineData的prop,所以想问下应该怎么写比较好文档是这么写的,纠结好长时间了求指教https://router.vuejs.org/zh-c...{    path: 'page',    component: urlSection,    props: (route) =>{        let obj = {            defineData:{}        }        fetch(route.query, (err, data) => {            if(data){obj.defineData=data}        })        return obj    },    beforeEnter: (to, from, next) => {        // ...    }},我看见一个beforeEnter函数可以写在route里,能不能通过这个把props的内容修改呢?具体怎么操作?
查看完整描述

2 回答

?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

import Vue from 'vue'

import VueRouter from 'vue-router'

import Hello from './Hello.vue'


Vue.use(VueRouter)


function dynamicPropsFn (route) {

  const now = new Date()

  return {

    name: (now.getFullYear() + parseInt(route.params.years)) + '!'

  }

}


const router = new VueRouter({

  mode: 'history',

  base: __dirname,

  routes: [

    { path: '/', component: Hello }, // No props, no nothing

    { path: '/hello/:name', component: Hello, props: true }, // Pass route.params to props

    { path: '/static', component: Hello, props: { name: 'world' }}, // static values

    { path: '/dynamic/:years', component: Hello, props: dynamicPropsFn }, // custom logic for mapping between route and props

    { path: '/attrs', component: Hello, props: { name: 'attrs' }}

  ]

})

我说的情况对应倒数第二种了

查看完整回答
反对 回复 2019-03-04
?
绝地无双

TA贡献1946条经验 获得超4个赞

你这是异步return不出去
为什么不在组件内部created内发请求
数据获取

查看完整回答
反对 回复 2019-03-04
  • 2 回答
  • 0 关注
  • 3337 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号