【发布时间】:2018-12-27 18:45:14
【问题描述】:
我正在使用 Vue 路由器在我的 src 文件中指向名为 components 的文件夹中的不同组件,这很奇怪,但是所有组件中的模板都是相同的,我已经导入文件并以完全相同的方式定义路由,当然除了确切的组件文件名 这是我的 main.js 文件
import Vue from 'vue'
import Router from 'vue-router'
import Home from '@/components/Home'
import CreateMeetUp from '@/components/Meetup/CreateMeetUp'
import Profile from '@/components/user/Profile.vue'
import SignIn from '@/components/user/SignIn'
import SignUp from '@/components/user/SignUp'
import Meetup from '@/components/Meetup/Meetup.vue'
import msg from '@/components/msg.vue'
Vue.use(Router)
export default new Router({
base: __dirname,
routes: [
{
path: '/',
name: 'Home',
component: Home
},
{
path: '/Meetup',
component: Meetup
},
{
path: '/Meetup',
component: CreateMeetUp
},
{
path: '/user',
component: Profile
},
{
path: '/user',
component: SignIn
},
{
path: '/user',
component: SignUp
},
{
path: '/',
component: HelloWorld
},
{
path: '/',
component: msg
}
],
mode: 'history'
})
这是我的 main.js 文件
import Vue from 'vue'
import App from './App'
import router from './router'
import Vuetify from 'vuetify'
import 'vuetify/dist/vuetify.min.css'
Vue.use(Vuetify)
Vue.config.productionTip = false
/* eslint-disable no-new */
new Vue({
el: '#app',
router,
components: { App },
template: '<App/>'
})
奇怪的是,它们中的两个组件都显示出来了,Home.vue 和 Meetup.vue,其余的根本没有显示。有人可以帮忙吗?再次,组件模板本身是相同的,以防你徘徊,提前感谢)
【问题讨论】:
-
您定义了一些具有相同路径和不同组件的路由。比如
/Meetup,你想渲染什么组件?Meetup还是CreateMeetup?删除所有具有重复路径的路由,它应该可以工作 -
@Jorj 有答案。当使用相同路径定义多个路由时,仅使用第一个。这意味着
/user也应该可以工作,重定向到Profile组件。 -
是的,但我不能在一个路径中有多个组件,通过组件属性选择组件名称,我选择我要显示的特定组件>>
-
@magus 甚至
Profile都没有显示,虽然我明白你的意思,但它仍然无法正常工作,只有 Home 和 Meetup 显示!!!
标签: javascript vue.js