Vue中router-view无法显示的解决办法
更新时间:2023年07月11日 08:33:36 作者:晨曦微兮
这篇文章主要给大家介绍了关于Vue中router-view无法显示的解决办法,router-view组件作为vue最核心的路由管理组件,在项目中作为路由管理经常被使用到,需要的朋友可以参考下
如果你存在:
- 代码没报错,运行成功,但是index.js中router挂接的内容无法显示,
- 没有犯书写错误,routes 和 component 没有写错,
- 在浏览器中检查,App.vue中对应的 <router-view>为空
那么建议你接着看,首先,正确的结果:
//App.vue中
<template>
<div id="app">
//关键是 router-view 能否成功渲染
<router-view></router-view>
<div>
<p>
If Element is successfully added to this project, you'll see an
<code v-text="'<el-button>'"></code>
below
</p>
<el-button>el-button</el-button>
</div>
</div>
</template>
<script>
export default {
name: 'app',
components: {
}
}
</script>//index.js文件
import Vue from 'vue'
import VueRouter from 'vue-router'
import HomeView from '../views/main/HomeView.vue'
import Layout from '../views/LayoutView.vue'
Vue.use(VueRouter)
//1.这里是routes,指定路径和成员
const routes = [
{
path: '/',
name: 'Layout',
//以下的 component(这是对的) 千万注意,不要写成 components(这是错的)
component: Layout,
children: [
{
path: '',
name: 'Home',
component: HomeView,
meta: {
isLogin: true
}
},
{
path: 'params',
name: 'params',
component: () => import('../views/main/ParamsView.vue'),
meta: {
isLogin: true
}
},
{
path: 'ad',
name: 'ADclassify',
component: () => import('../views/main/ADClassify.vue'),
meta: {
isLogin: true
}
},
{
path: 'product',
name: 'product',
component: () => import('../views/main/ProductView.vue'),
meta: {
isLogin: true
}
}
]
},
{
path: '/login',
name: 'Login',
component: () => import('../views/LoginView.vue'),
meta: {
isLogin: true
}
}
]
//2.这里是router,是一个VueRouter对象
const router = new VueRouter({
mode: 'history',
base: process.env.BASE_URL,
routes
//3.这里是routes,对应1中指定的内容
})
export default router以上,没什么问题的话,可以看到

App.vue中对应的 <router-view>为是有值的
后来我导入在main.js中了一个js文件
//main.js
import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import './plugins/element.js'
import './assets/css/common.css'
//导入了这个文件,之后就看不见 router-view 渲染的内容了
// import './router/permission.js'
Vue.config.productionTip = false
new Vue({
router,
store,
render: h => h(App)
}).$mount('#app')这里,现在我还是不知道 permission.js 为什么会导致router-view不能渲染
//permission.js
import router from './index'
router.beforeEach((to, from, next) => {
if (to.meta.isLogin) {
const token = false
if (token) {
next()
} else {
next({
name: 'Login'
})
}
} else {
next()
}
})总的来说:Vue中router-view无法显示可能是导入了什么不合适的文件导致
总结
到此这篇关于Vue中router-view无法显示的解决办法的文章就介绍到这了,更多相关Vue router-view无法显示内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Vue项目之安装引入使用vconsole方式(生产环境不显示)
在Vue2开发中,引入vConsole可以为移动端提供类似浏览器F12的调试工具,支持查看日志、网络请求等功能,vConsole是一个轻量、可拓展的前端调试面板,与框架无关,适用于多种前端框架,安装方法包括npm和CDN两种,可根据项目环境配置是否显示调试面板2024-10-10
vue.js过滤器+ajax实现事件监听及后台php数据交互实例
这篇文章主要介绍了vue.js过滤器+ajax实现事件监听及后台php数据交互,结合实例形式分析了vue.js前台过滤器与ajax后台数据交互相关操作技巧,需要的朋友可以参考下2018-05-05
Vue2.0基于vue-cli+webpack同级组件之间的通信教程(推荐)
下面小编就为大家带来一篇Vue2.0基于vue-cli+webpack同级组件之间的通信教程(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-09-09


最新评论