Vue Router教程

Vue Router教程

2023-04-12 10:15:44
分享文章

 ###一、什么是Vue Router?

Vue Router是一个实现客户端路由的JavaScript库,它可以基于Vue.js框架进行客户端中的浏览器路由控制,可以帮助开发者跟踪用户在该网站中的行为,提供桌面应用程序和移动设备上的有效导航功能,并在客户端更新数据存储而无需刷新网页。

###二、安装

Vue Router需要Vue.js为2.0版以上进行安装:

```
npm install vue-router
```

###三、基本使用

根实例中添加路由

要在Vue程序中使用Vue Router,首先需要在根实例中注入Vue Router,这样Vue Router就能通过组件中的 `$router` 访问到Vue Router实例:

```
import Vue from 'vue'
import VueRouter from 'vue-router'

Vue.use(VueRouter)

const router = new VueRouter({
 // ...
})

new Vue({
 router,
 // ...
}).$mount('#app')
```

添加路由规则

同一个Vue Router实例可以包括多个路由规则,每一个路由规则被定义成一个javascript对象,每个对象都可以包括路径(path)和组件(component)两个属性:

```
const router = new VueRouter({
 routes: [
   { path: '/foo', component: Foo },
   { path: '/bar', component: Bar }
 ]
})
```

###四、实例

我们来举一个例子,以便你对Vue Router有一个大概的了解:

首先,在根文件中引入Vue、Vue Router,并指定router的路径和组件

```
import Vue from 'vue'
import VueRouter from 'vue-router'

Vue.use(VueRouter)

const router = new VueRouter({
 routes: [
   { path: '/', component: HomeComponent },
   { path: '/page1', component: Page1Component },
   { path: '/page2', component: Page2Component }
 ]
})

new Vue({
 router,
 // ...
}).$mount('#app')
```

然后,在三个组件中,分别引用不同的router-link和router-view对象

HomeComponent.vue

```

```

Page1Component.vue

```

```

Page2Component.vue

```

```

最终,将实例化的router传递给Vue根实例就OK了

```
import Vue from 'vue'
import VueRouter from 'vue-router'
import HomeComponent from './components/HomeComponent.vue'
import Page1Component from './components/Page1Component.vue'
import Page2Component from './components/Page2Component.vue'

Vue.use(VueRouter)

const router = new VueRouter({
 routes: [
   { path: '/', component: HomeComponent },
   { path: '/page1', component: Page1Component },
   { path: '/page2', component: Page2Component }
 ]
})

new Vue({
 router,
 // ...
}).$mount('#app')
```

###五、模式

Vue Router支持两种路由模式:

1. HTML5 History模式:这种模式下,你可以结合HTML5 History API实现真实URL,并利用前进后退按钮来进行路由的切换
2. Hash模式:这种模式下,URL的改变不会引起浏览器跳转,而是会产生一个正则的hash值,以#开头,后面跟着路由的路径。

获取更多?
您可以随时联系我们的邮箱 [email protected] 告诉我们您需要的内容,我们的AI将为您提供最佳的服务。
随时查看
输入你的邮箱,随时获得最新内容
随机推荐