vue-router使用
Posted 河泉
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue-router使用相关的知识,希望对你有一定的参考价值。
import {createRouter, createWebHashHistory } from \'vue-router\'
// 1. 定义路由组件
import Home from \'../components/demo\'
import Hello from \'../components/HelloWorld\'
import active from \'../components/active\'
import nest from \'../components/nest\'
import nesta from \'../components/nest/a\'
import nestb from \'../components/nest/b\'
import nestc from \'../components/nest/c\'
// 2. 定义路由,每个路由映射到一个组件
let routes = [
// component可以是多个,改为components,设置default
{
path: \'/\',
name: \'/\',
// 多组件组成
components:{
default: Home,
nestc
},
meta: {
title: \'mainpage\'
}
},
// 重定向
{
path: \'/demo\',
redirect: \'/\',
},
// 正常
{
path: \'/hello\',
name: \'hello\',
component: Hello,
// 别名
alias:[\'/ceshi\', \'/123\'],
meta: {
title: \'hello\'
}
},
// 动态路由,参数$route.params.id获取
{
path: \'/active/:id\',
name: \'active\',
component: active,
meta: {
title: \'active\'
},
// 对于包含命名视图的路由,你必须分别为每个命名视图添加 `props` 选项:
props: {
abd: 123,
id: 123
},
},
// 嵌套
{
path: \'/nest\',
component: nest,
children: [
{
path: \'\',
component: nestc
},
{
path: \'a\',
component: nesta
},
{
path: \'b\',
component: nestb
}
],
meta:{
title: \'nest\'
}
}
]
// 3. 创建路由实例并传递‘routes’配置,
const hash = createWebHashHistory()
const router = createRouter({
// 4. 内部提供了 history 模式的实现。为了简单起见,我们在这里使用 hash 模式。
history: hash,
routes
})
// 5. 监听路由
router.beforeEach((to, from, next) => {
if (to.meta.title) {//如果设置标题,拦截后设置标题
document.title = to.meta.title
}
next()
})
export default router
以上是关于vue-router使用的主要内容,如果未能解决你的问题,请参考以下文章
Vue总结第五天:vue-router (使用模块化(创建Vue组件)机制编程)router-link 标签的属性路由代码跳转懒加载路由嵌套(子路由)路由传递数据导航守卫)