在Vue.js中,Vue Router是一個非常強大的路由管理工具。它能夠讓你輕松地通過URL地址來映射到不同的組件頁面,同時還支持動態路由和嵌套路由。如果你需要向服務器請求數據,在Vue Router中也提供了一些方法來管理你的http請求。
首先,實例化一個Vue Router,需要使用Vue.use方法并傳入VueRouter來引入該插件。接著,創建一個路由對象,包含路由表、mode、base、fallback等配置。路由表就是URL地址和組件之間的映射關系,它是一個數組,每個路由對象包含path、component、name等屬性。mode指定了路由的模式,有三種模式:hash、history和abstract。base指定了基礎URL路徑,fallback指定了如果瀏覽器不支持history模式時的行為。
```html
import Vue from 'vue' import VueRouter from 'vue-router' import Home from '../views/Home.vue' Vue.use(VueRouter) const routes = [ { path: '/', name: 'Home', component: Home }, { path: '/about', name: 'About', component: () =>import('../views/About.vue') } ] const router = new VueRouter({ mode: 'history', base: process.env.BASE_URL, routes }) export default router``` 在Vue Router中,我們可以使用axios等第三方庫來發送http請求。在Vue組件中,我們可以通過this.$http來訪問Vue.http對象,該對象包含了get、post、put、delete、patch等方法。這些方法返回的是一個Promise對象,我們可以使用then或catch方法來處理請求的結果。 ```html
import axios from 'axios' export default { name: 'About', data () { return { users: [] } }, mounted () { axios.get('https://jsonplaceholder.typicode.com/users') .then(response =>{ this.users = response.data }) .catch(error =>{ console.log(error) }) } }``` 另外,在Vue Router中也提供了全局路由鉤子函數,可以在路由跳轉前、后、錯誤處理等時候執行一些邏輯。全局路由鉤子函數包括beforeEach、beforeResolve、afterEach、onError等,使用方式類似Vue組件生命周期鉤子函數。 ```html
router.beforeEach((to, from, next) =>{ if (to.meta.requireAuth) { if (localStorage.getItem('token')) { next() } else { next({ path: '/login', query: { redirect: to.fullPath } }) } } else { next() } })``` Vue Router的http請求管理能夠讓我們更加靈活方便地管理和發送http請求,同時結合全局路由鉤子函數也能夠更好地管理我們的頁面跳轉。在Vue應用中,建議使用Vue Router來實現路由功能。
上一篇centos修改json
下一篇vue 景觀設計