vue-router的配置以及参数
时间: 2023-11-16 22:13:37 浏览: 148
Vue Router 是 Vue.js 官方的路由管理器,它和 Vue.js 核心深度集成,可以非常方便地实现单页应用程序的路由功能。下面是 Vue Router 的配置以及参数的介绍:
### 安装和引入
首先,我们需要通过 npm 安装 Vue Router:
```
npm install vue-router --save
```
然后,在 main.js 中引入并使用 Vue Router:
```javascript
import VueRouter from 'vue-router'
import Vue from 'vue'
// 引入路由组件
import Home from './components/Home.vue'
import About from './components/About.vue'
Vue.use(VueRouter)
const router = new VueRouter({
routes: [
{ path: '/', component: Home },
{ path: '/about', component: About }
]
})
new Vue({
el: '#app',
router,
render: h => h(App)
})
```
### 配置项
在上面的代码中,我们使用了 VueRouter 的一个配置项 routes,它是一个数组,每个元素都是一个路由对象,包含以下属性:
- path:路由的路径。
- component:对应的组件。
除了上面的两个属性外,还有一些其他的属性可以配置:
- name:给路由起个名字,方便在代码中进行跳转。
- redirect:重定向到另一个路由。
- children:子路由,可以实现嵌套路由。
- meta:元信息对象,可以在路由钩子函数中使用。
```javascript
const router = new VueRouter({
routes: [
{
path: '/',
component: Home,
name: 'home',
meta: {
requiresAuth: true
}
},
{
path: '/about',
component: About,
children: [
{
path: 'team',
component: Team
},
{
path: 'history',
component: History
}
]
},
{
path: '/login',
component: Login
},
{
path: '/logout',
redirect: '/login'
}
]
})
```
### 路由跳转
Vue Router 提供了两种方式进行路由跳转:
- 声明式导航:使用 router-link 组件实现。
- 编程式导航:使用 router 对象的 push、replace 和 go 方法实现。
#### 声明式导航
```html
<router-link to="/">Home</router-link>
<router-link to="/about">About</router-link>
```
#### 编程式导航
```javascript
// 前进到新的路由
router.push('/about')
// 替换当前路由
router.replace('/about')
// 后退一步
router.go(-1)
```
### 路由钩子函数
Vue Router 提供了一些路由钩子函数,可以在路由跳转前、跳转后或者路由变化时执行一些额外的逻辑。常用的钩子函数包括:
- beforeRouteEnter:路由进入前,组件还未被创建。
- beforeRouteUpdate:路由更新前,组件已经被创建,但是路由参数发生了变化。
- beforeRouteLeave:路由离开前,组件还未被销毁。
```javascript
const Foo = {
template: `...`,
beforeRouteEnter (to, from, next) {
// 在进入路由前执行
// 此时组件还未被创建,无法访问 this
next()
},
beforeRouteUpdate (to, from, next) {
// 在路由更新前执行
// 此时组件已经被创建,可以访问 this
next()
},
beforeRouteLeave (to, from, next) {
// 在路由离开前执行
// 可以在这里进行一些数据保存操作等
next()
}
}
```
阅读全文