vue學習之路由

2021-08-20 19:50:48 字數 2470 閱讀 5936

路由需要引入庫「vue-router」

我們經常需要把某種模式匹配到的所有路由,全都對映到同個元件。例如,我們有乙個 user 元件,對於所有 id 各不相同的使用者,都要使用這個元件來渲染。那麼,我們可以在 vue-router 的路由路徑中使用「動態路徑引數」(dynamic segment) 來達到這個效果:

const user = 

const router = new vuerouter(

]})

const user = 

}}

const user = 

}

const router = new vuerouter(,

// ...其他子路由]}

]})

除了使用 建立 a 標籤來定義導航鏈結,我們還可以借助 router 的例項方法,通過編寫**來實現。

router.push(location, oncomplete?, onabort?)

**注意:**在 vue 例項內部,你可以通過 rou

ter訪

問路由實

例。因此

你可以調

用thi

s.

router 訪問路由例項。因此你可以呼叫 this.

router

訪問路由

例項。因

此你可以

呼叫th

is.router.push

router.replace(location, oncomplete?, onabort?)

跟 router.push 很像,唯一的不同就是,它不會向 history 新增新記錄,而是跟它的方法名一樣 —— 替換掉當前的 history 記錄。

router.go(n)

這個方法的引數是乙個整數,意思是在 history 記錄中向前或者後退多少步,類似 window.history.go(n)。

在建立 router 例項的時候,在 routes 配置中給某個路由設定名稱。

const router = new vuerouter(

]})

user
這跟**呼叫 router.push() 是一回事:

router.push(})

const router = new vuerouter(

}]})

, 

}]}

const router = new vuerouter(

]})

const router = new vuerouter(}

]})

const router = new vuerouter(}

]})

「重定向」的意思是,當使用者訪問 /a時,url 將會被替換成 /b,然後匹配路由為 /b,那麼「別名」又是什麼呢?

/a 的別名是 /b,意味著,當使用者訪問 /b 時,url 會保持為 /b,但是路由匹配則為 /a,就像使用者訪問 /a 一樣。

上面對應的路由配置為:

const router = new vuerouter(

]})

「別名」的功能讓你可以自由地將 ui 結構對映到任意的 url,而不是受限於配置的巢狀路由結構。

使用 props 將元件和路由解耦

const user = }'}

const router = new vuerouter(,

// 對於包含命名檢視的路由,你必須分別為每個命名檢視新增 `props` 選項:

,props:

}]})

布林模式

如果 props 被設定為 true,route.params 將會被設定為元件屬性。

####物件模式

如果 props 是乙個物件,它會被按原樣設定為元件屬性。當 props 是靜態的時候有用。

const router = new vuerouter( }

]})

函式模式

你可以建立乙個函式返回 props。這樣你便可以將引數轉換成另一種型別,將靜態值與基於路由的值結合等等。

const router = new vuerouter() }

]})

url /search?q=vue 會將 作為屬性傳遞給 searchuser 元件。

盡可能保持 props 函式為無狀態的,因為它只會在路由發生變化時起作用。

vue學習總結之路由

一 新增依賴,在package.json中找到dependencies模組,然後往裡面追加jquery,以jq版本2.2.3為例 dependencies 然後命令列 npm install 二 新增完依賴後,修改webpack配置,找到webpack.base.conf.js,引入 var web...

Vue學習之路 3 路由

在乙個系統中,一般會由很多頁面組成,當乙個頁面要跳轉到另外乙個頁面的時候是通過改變url路徑來實現的,這個時候vue需要知道當前url對應的那個元件頁面,這個控制者就是vue router。使用vue router需要載入vue router.js。csdn資源 布局 主頁資訊 設定元件html頁面...

Vue學習筆記之路由元資訊

定義路由的時候可以配置meta字段 const router new vuerouter 那麼如何訪問這個meta欄位呢?首先,我們稱呼routes配置中的每個路由物件為路由記錄。路由記錄可以是巢狀的,因此,當乙個路由匹配成功後,他可能匹配多個路由記錄 例如,根據上面的路由配置,foo bar這個 ...