Vue.js 2中router-link跳转无效,路由视图不渲染组件求助
问题分析与解决
你的OrdersView组件无法渲染到<router-view>区域,核心原因是路由配置文件存在多处语法错误和拼写问题,以下是具体问题及修复方案:
1. 路由配置的语法结构错误
你的index.js存在嵌套逻辑错误:先创建了new Router(),又在其内部重复定义const router并导出,导致整个路由配置失效。同时导入VueRouter后,错误调用Vue.use(Router),正确写法应使用导入的VueRouter。
2. 路由项的属性拼写错误
在/order路由配置中,你将组件属性写成了大写的Component,而Vue Router要求该属性必须是小写的component,这会导致路由无法关联到对应的组件。
修复后的完整路由配置文件 index.js
import Vue from 'vue'; import VueRouter from 'vue-router'; import HomeView from '../views/HomeView.vue'; import OrdersView from '../views/OrdersView.vue'; // 正确注册VueRouter插件 Vue.use(VueRouter); const routes = [ { path: '/', name: 'home', component: HomeView }, { path: '/order', name: 'order', // 修正为小写的component component: OrdersView } ]; // 正确创建VueRouter实例 const router = new VueRouter({ mode: 'history', base: process.env.BASE_URL, routes }); export default router;
额外检查点
确认项目入口文件(如main.js)已正确引入并挂载路由实例:
import Vue from 'vue' import App from './App.vue' import router from './router/index.js' new Vue({ router, render: h => h(App) }).$mount('#app')
你的App.vue中<router-view>标签位置正确,无需修改。
修复上述问题后,点击router-link即可正常渲染OrdersView组件到<router-view>区域。
内容的提问来源于stack exchange,提问作者peace3106
相关产品推荐
相关产品推荐

