編程式導(dǎo)航

借助 router 的實(shí)例方法,通過編寫代碼來實(shí)現(xiàn)

  • this.$router.push(location, onComplete?, onAbort?)

會向 history 添加新記錄

點(diǎn)擊 <router-link :to="..."> (聲明式導(dǎo)航)等同于調(diào)用 this.$router.push(...)

// 字符串
this.$router.push('home')


// 對象
this.$router.push({ path: 'home' })


// 命名的路由
this.$router.push({ name: 'user', params: { userId: '123' }})
//想要此處的params生效,則對象中不能同時有path和params屬性
/***************
this.$router.push({ path: '/user', params: { userId }}) // -> /user  這里的 params 不生效
***************/
//要寫path屬性,同時要有動態(tài)路由參數(shù)
const userId = '123'
this.$router.push({path: `/user/${ userId }`}) // -> /user/123
//同樣的規(guī)則也適用于 router-link 組件的 to 屬性。


// 帶查詢參數(shù),變成 /register?plan=private
router.push({ path: 'register', query: { plan: 'private' }})
  • this.$router.replace(location, onComplete?, onAbort?)

不會向 history 添加新記錄,而是替換掉當(dāng)前的 history 記錄。

  • this.$router.go(n)

參數(shù)是一個整數(shù),意思是在 history 記錄中向前或者后退多少步

// 在瀏覽器記錄中前進(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)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 晨曦微光出賣了 夜 費(fèi)盡心思掩蓋的 小城的丑陋和疲憊 直到第一座枯黃的山脈 妙不可言地躍出地平線 我們劈開連綿起伏...
    貓畫符閱讀 303評論 9 4
  • 我要葬于大地,回歸故鄉(xiāng)的 縹緲的野魂,嶙峋骷髏立在家中 缺口窺視生活的秘密 我這殘軀敗體也該入土了 好似氣焰消散后...
    喵咪薄荷糖喵閱讀 280評論 0 0
  • vue的生命周期定義vue每個組件都是獨(dú)立的,每個組件都有一個屬于它的生命周期,從一個組件創(chuàng)建、數(shù)據(jù)初始化、掛載、...
    Artifacts閱讀 997評論 1 0
  • 有時候需要制作二維碼,用于分享產(chǎn)品等操作。如下圖這樣的操作。理清思路還是比較簡單的。
    小尤root閱讀 1,662評論 0 0
  • 首先MVP架構(gòu),然后用了dagger依賴注入,這不用到處new對象了,然后用了fragment管理,用過event...
    喜歡丶下雨天閱讀 262評論 0 1

友情鏈接更多精彩內(nèi)容