- 70
- 0
在 vue-router 中使用addRoutes 添加动态路由无效.
import Vue from 'vue'
import Router from 'vue-router'
import Layout from '@/views/layout'
const _import = comp => require(`@/views/${comp}`).default
Vue.use(Router)
//全局静态路由
const constantRouters = [
{ path: '/login', name: 'login', component: _import('commons/login/login'), hidden: true },
{ path: '/error', name: 'error', component: _import('commons/errorPage'), hidden: true }
]
//全局路由守卫
router.beforeEach((to, from, next) => {
let token = getToken()
//已登录
if (token && token.length > 0) {
//如果没有获取 用户信息
if (store.getters.user.length < 1) {
//这里没有使用 接口中的数据. 使用数据模拟.
let mainRoutes = [{
path: '/',
component: Layout,
name: 'layout',
redirect: '/home',
children: [
{ path: '/home', component: _import('modules/home'), name: 'home', meta: { title: '首页' } }
],
// 主路由守卫
beforeEnter (to, from, next) {
let token = getToken()
if (! token) {
next({ path: '/login' })
} else {
next()
}
}
}]
router.addRoutes(mainRoutes)
// next({ ...to, replace: true })
}
next()
} else {
//否则直接进入 登录页
next({ path: '/login' })
}
})
const router = new Router({
routes: constantRouters
})
export default router
访问 http://localhost:8080/#/ 会跳转到 http://localhost:8080/#/login 页面也是正常显示.
登录成功后 router.push('/') 到根路径 页面是一篇空白.
确定路径这些都没有问题.组件都是正常加载到.我实在不知道我错在哪里...
- 共 0 条
- 全部回答
-
終究是終局ジ 普通会员 1楼
Vue Router 使用
addRoutes会添加路由到你的路由中,但是它并不总是生效。以下是一些可能的原因:addRoutes仅在 Vue Router v2.2.0 或更高版本中可用。addRoutes要求 Vue Router v2.3.0 或更高版本。addRoutes依赖于router模块,但是router部分已经被移除,因此可能无法使用。- 如果你的路由配置不正确,那么
addRoutes也不会生效。
以下是一些解决方法:
- 检查你的路由配置,确保它们是在 Vue Router v2.2.0 或更高版本中可用的。你可以在
router/index.js或router.module.js中添加配置。
```javascript import Vue from 'vue'; import Router from 'vue-router'; import Home from './views/Home.vue';
Vue.use(Router);
export default new Router({ routes: [ { path: '/home', name: 'Home', component: Home } ] }); ```
- 如果
addRoutes依赖于router模块,那么你可能需要更新你的路由配置。你可以将router部分移除,然后添加新的路由。你可以在router/index.js或router.module.js中删除router部分,并添加新的路由。
```javascript import Vue from 'vue'; import Router from 'vue-router'; import Home from './views/Home.vue';
Vue.use(Router);
export default new Router({ routes: [ { path: '/home', name: 'Home', component: Home } ] }); ```
- 如果你的路由配置不正确,那么
addRoutes也不会生效。你可以检查你的路由配置,确保它们是正确的。你可以在router/index.js或router.module.js中添加配置,并使用created、beforeRouteEnter、beforeRouteLeave等方法来添加或修改路由。
```javascript import Vue from 'vue'; import Router from 'vue-router'; import Home from './views/Home.vue';
Vue.use(Router);
export default new Router({ routes: [ { path: '/home', name: 'Home', component: Home } ] }); ```
- 如果以上方法都无法解决问题,那么你可能需要检查你的 Vue Router 安装。确保你已经安装了 Vue Router,并且它是全局的。你可以在命令行中运行
vue-router来检查你的 Vue Router 是否已经安装。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
