VueRouter это. $ Route.query всегда пусто - PullRequest
0 голосов
/ 26 мая 2019

Я пытаюсь получить параметр запроса code, но $route.query всегда пусто. Я использовал функциональный режим для документов. Чего не хватает?

Маршрутизатор:

// use vue-router
import Router from 'vue-router'
Vue.use(Router)

// create router
const router = new Router({
  routes: [
    {
      path: '/',
      component: Home,
      props: (route) => ({ code: route.query.code })
    }
  ]
})

Home.vue

<template>
  <div>
    <Navbar />
      <FlatHeader />
      <v-content>
        <ComingSoon />
        <Changes />
        <EmailSubscribe />   
      </v-content>
    <AuthorizationModal />
  </div> 
</template>

<script>
import AuthorizationModal from './components/AuthorizationModal';
import FlatHeader from './components/FlatHeader';
import ComingSoon from './components/ComingSoon';
import Changes from './components/Changes';
import EmailSubscribe from './components/EmailSubscribe';

export default {
  name: 'Home',
  components: {
    FlatHeader,
    ComingSoon,
    Changes,
    EmailSubscribe,
    AuthorizationModal
  },
  props: {
    code: {
      type: String,
      default: null
    }
  },
  methods: {
  },
  mounted() {
    console.log(this.$route)
  }
}

</script>

$route консольный вывод:

enter image description here

1 Ответ

0 голосов
/ 26 мая 2019

Я решил эту проблему, установив для Router режим 'history'.

Маршрутизатор:

// create router
const router = new Router({
  mode: 'history', // add 'history' mode
  routes: [
    {
      path: '/',
      component: Home,
      props: (route) => ({ code: route.query.code })
    }
  ]
})
...