- 路由的跳轉(zhuǎn) 有
<router-link>
相當(dāng)于A鏈接的跳轉(zhuǎn) 還有編程式的router.push()
相當(dāng)于location.herf
// 字符串
router.push('home')
// 對象
router.push({ path: 'home' })
// 命名的路由
router.push({ name: 'user', params: { userId: 123 }})
// 帶查詢參數(shù),變成 /register?plan=private
router.push({ path: 'register', query: { plan: 'private' }})
再使用了path,之后params會(huì)被忽略
const userId = 123
router.push({ name: 'user', params: { userId }}) // -> /user/123
router.push({ path: `/user/${userId}` }) // -> /user/123
// 這里的 params 不生效
router.push({ path: '/user', params: { userId }}) // -> /user
在 2.2.0+,可選的在
router.push
或router.replace
中提供onComplete
和onAbort
回調(diào)作為第二個(gè)和第三個(gè)參數(shù)智蝠。這些回調(diào)將會(huì)在導(dǎo)航成功完成 (在所有的異步鉤子被解析之后) 或終止 (導(dǎo)航到相同的路由奈梳、或在當(dāng)前導(dǎo)航完成之前導(dǎo)航到另一個(gè)不同的路由) 的時(shí)候進(jìn)行相應(yīng)的調(diào)用杈湾。
注意:如果目的地和當(dāng)前路由相同,只有參數(shù)發(fā)生了改變 (比如從一個(gè)用戶資料到另一個(gè) /users/1
-> /users/2
)漆撞,你需要使用 beforeRouteUpdate
來響應(yīng)這個(gè)變化 (比如抓取用戶信息)。
router.replace(location,onComplate?,onAvort?)
- 這個(gè)方法和router.push()唯一的區(qū)別式這不會(huì)記錄歷史路徑
router.go(n)
- 這個(gè)函數(shù)接受一個(gè)整數(shù) 就是再history里面向前或者后退多少步雷氏window.history.gon(n)
// 在瀏覽器記錄中前進(jìn)一步悍汛,等同于 history.forward()
router.go(1)
// 后退一步記錄,等同于 history.back()
router.go(-1)
// 前進(jìn) 3 步記錄
router.go(3)
// 如果 history 記錄不夠用离咐,那就默默地失敗唄
router.go(-100)
router.go(100)