這篇文章給大家分享的是有關(guān)vue中router.push()有什么用的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。
創(chuàng)新互聯(lián)作為成都網(wǎng)站建設(shè)公司,專(zhuān)注網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì),有關(guān)企業(yè)網(wǎng)站制作方案、改版、費(fèi)用等問(wèn)題,行業(yè)涉及成都火鍋店設(shè)計(jì)等多個(gè)領(lǐng)域,已為上千家企業(yè)服務(wù),得到了客戶(hù)的尊重與認(rèn)可。
除了使用
router.push(location)
想要導(dǎo)航到不同的 URL,則使用 router.push 方法。這個(gè)方法會(huì)向 history 棧添加一個(gè)新的記錄,所以,當(dāng)用戶(hù)點(diǎn)擊瀏覽器后退按鈕時(shí),則回到之前的 URL。
當(dāng)你點(diǎn)擊
聲明式:
編程式:router.push(...)
該方法的參數(shù)可以是一個(gè)字符串路徑,或者一個(gè)描述地址的對(duì)象。
// 字符串 router.push('home') // 對(duì)象 this.$router.push({path: '/login?url=' + this.$route.path}); // 命名的路由 router.push({ name: 'user', params: { userId: 123 }}) // 帶查詢(xún)參數(shù),變成/backend/order?selected=2 this.$router.push({path: '/backend/order', query: {selected: "2"}}); // 設(shè)置查詢(xún)參數(shù) this.$http.post('v1/user/select-stage', {stage: stage}) .then(({data: {code, content}}) => { if (code === 0) { // 對(duì)象 this.$router.push({path: '/home'}); }else if(code === 10){ // 帶查詢(xún)參數(shù),變成/login?stage=stage this.$router.push({path: '/login', query:{stage: stage}}); } }); // 設(shè)計(jì)查詢(xún)參數(shù)對(duì)象 let queryData = {}; if (this.$route.query.stage) { queryData.stage = this.$route.query.stage; } if (this.$route.query.url) { queryData.url = this.$route.query.url; } this.$router.push({path: '/my/profile', query: queryData});
replace
類(lèi)型: boolean
默認(rèn)值: false
設(shè)置 replace 屬性的話(huà),當(dāng)點(diǎn)擊時(shí),會(huì)調(diào)用 router.replace() 而不是 router.push(),于是導(dǎo)航后不會(huì)留下 history 記錄。即使點(diǎn)擊返回按鈕也不會(huì)回到這個(gè)頁(yè)面。
//加上replace: true后,它不會(huì)向 history 添加新記錄,而是跟它的方法名一樣 —— 替換掉當(dāng)前的 history 記錄。
this.$router.push({path: '/home', replace: true}) //如果是聲明式就是像下面這樣寫(xiě):// 編程式: router.replace(...)
綜合案例
this.$router.push({path: '/coach/' + this.$route.params.id, query: queryData});
感謝各位的閱讀!關(guān)于“vue中router.push()有什么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!