Маршрутизатор Vue.js не видит компонентов - PullRequest
0 голосов
/ 22 января 2019

Я только что инициализировал приложение Vue и добавил несколько новых маршрутов. Но они совсем не работали.

Мой роутер / index.js

import Vue from 'vue'
import Router from 'vue-router'

import QuestionList from '@/components/pages/QuestionList'
import SessionList from '@/components/pages/SessionList'

Vue.use(Router)

const router = new Router({
  routes: [
    {
      path: '/questions',
      name: 'QuestionList',
      component: QuestionList
    },
    {
      path: '/sessions',
      name: 'SessionList',
      component: SessionList
    },
  ]
})

export default router

Мой компонент:

<template>


<h1>test</h1>
</template>

<script>
export default {
}
</script>

<style>
</style>

Когда я захожу на localhost: 8000 / questions или localhost: 8000 / session, ничего не происходит. + Я не вижу этих компонентов в Vue Dev Tools. Что не так?

1 Ответ

0 голосов
/ 22 января 2019

, как указано в official docs, вы должны добавить хеш, например localhost:8000/#/sessions:

Режимом по умолчанию для vue-router является режим хеша - он использует хеш URL длясмоделируйте полный URL-адрес, чтобы страница не перезагружалась при изменении URL-адреса.

Чтобы избавиться от хэша, мы можем использовать режим истории маршрутизатора, который использует API history.pushState для достижения навигации по URLбез перезагрузки страницы:

  const router = new VueRouter({
       mode: 'history',
        routes: [...]
  })
...