VueJS 路由器不加载组件

新手上路,请多包涵

我正在使用 VueJS 路由器,但路由器没有加载组件。

我有 About.vue 和 Contact.vue 只是带有要测试的标签 - 以下是它的样子:

 <template>
  <div>
    <h1>Contact page. Welcome baby!</h1>
  </div>
</template>

这是具有三个路由器链接和路由器视图的 App.vue

 <template>
   <div>
     <h1>Routing</h1>
     <router-link to="/">Home</router-link>
     <router-link to="/about">About</router-link>
     <router-link to="/contact">Contact</router-link>
     <router-view></router-view>
  </div>
</template>

这是 main.js (导入文件路径正确)

 import Vue from 'vue'
import App from './App.vue'
import VueRouter from 'vue-router'
import {routers} from './router'

Vue.use(VueRouter);

let router = new VueRouter({mode: 'history', routers});

new Vue({
    el:'#app',
    router,
    components: {
      'app-home' : App
    }
});

这是路由器的 JS 文件。 router.js (路径正确)

 import About from './About.vue'
import Contact from './Contact.vue'
import Home from './App.vue'

export const routers=[
    {
      path: '/' , component: Home
    },
    {
      path:'/about',component:About
    },
    {
      path:'/contact',component:Contact
    }
]

而且,这是 index.html

 <!DOCTYPE html>
<html lang="en">
 <head>
    <meta charset="utf-8">
    <title>router</title>
 </head>
 <body>
    <div id="app">
       <app-home></app-home>
    </div>
  <script src="/dist/build.js"></script>
 </body>
</html>

当我加载页面时,主页面如下所示: 已加载主页

当我点击每个导航时,除了 URL 之外,主页没有任何变化。网址变成

http://localhost:8080/联系人

http://localhost:8080/关于

但没有加载我导入的组件。

如果您需要更多信息来提供建议,请随时询问更多信息。如果您对这个问题有任何线索,请在此分享。

谢谢你。

原文由 doobean 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 393
2 个回答

对象键 VueRouter 期望被称为 routes ,你正在传递它 routers

尝试这个…

 let router = new VueRouter({mode: 'history', routes: routers});


或者,将 “routers” 变量重命名为 “routes” 。例如

export const routes=[

import {routes} from './router'
// snip
let router = new VueRouter({mode: 'history', routes });

原文由 Phil 发布,翻译遵循 CC BY-SA 3.0 许可协议

在我的例子中,我必须用 "Manually select features" 创建一个新的 Vue 项目( vue create Project );然后我必须标记 "Router"

以前我创建了一个默认项目,我单独安装了路由器( npm install vue-router ) - 但最后路由没有加载组件。

附言。我用:

  • npm 6.14.6
  • node.js v12.18.3
  • @vue/cli 4.5.4

原文由 Thedam 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题