vue使用router-view調(diào)用頁(yè)面方式
使用router-view調(diào)用頁(yè)面
在項(xiàng)目中,需要在其中一個(gè)頁(yè)面,調(diào)用很多其他頁(yè)面的表單,所以使用router來(lái)實(shí)現(xiàn)頁(yè)面的調(diào)用。
vue-router有傳遞參數(shù)的兩種方式,get和post。
1.get方式
頁(yè)面跳轉(zhuǎn)
this.$router.push({path:'/xxx',query:{id:1}});//類似get傳參,通過(guò)URL傳遞參數(shù)新頁(yè)面接收參數(shù)
this.$route.query.id
2.post方式
頁(yè)面跳轉(zhuǎn)
//由于動(dòng)態(tài)路由也是傳遞params的,所以在 this.$router.push() 方法中 path不能和params一起使用
//否則params將無(wú)效。
//需要用name來(lái)指定頁(yè)面。
this.$router.push({name:'page2',params:{id:1}});//類似post傳參新頁(yè)面接收參數(shù)
this.$route.params.id
注意:在頁(yè)面進(jìn)行刷新的時(shí)候經(jīng)常會(huì)遇到參數(shù)變了,但是新頁(yè)面接受的參數(shù)沒(méi)有變化。這種問(wèn)題可以通過(guò)加watch解決。
watch: {
'$route'(to, from){
//在這里重新刷新一下
this.getParams();
}
}實(shí)例
首先,我們的頁(yè)面是wfqlc.vue(我的申請(qǐng)),被調(diào)用的頁(yè)面為pjzydgl.vue(票據(jù)準(zhǔn)印單管理)。
1.在router的index.js文件里,給我的申請(qǐng)頁(yè)面加children。

2.在需要跳轉(zhuǎn)的地方添加router-view。
<!-- 附加單據(jù) -->
<Modal
title="附加單據(jù)"
v-model="fjdjModal"
:mask-closable="false"
:transfer="false"
width="600"
>
<div style="height:300px;width:100%;overflow-y: auto;" class="modal-wrap">
<router-view></router-view>
</div>
</Modal>3.在我的申請(qǐng)wfqlc.vue頁(yè)面,把請(qǐng)求發(fā)送出去。
// 附加單據(jù)
getAdditionalDocument (row) {
this.fjdjModal = true
this.$router.push({
// path: `/wfqlcfjdj/${row.webUnitUrl}`,
path: `/wfqlcfjdj/pjzydgl`,
query: {
// businessIndex: row.businessId
businessIndex: '6883a5c4-b706-424e-ba88-4acc83eded2f'
}
})
},4.請(qǐng)求會(huì)拼在地址欄發(fā)送過(guò)去
![]()
path傳的參數(shù)跳轉(zhuǎn)到了對(duì)應(yīng)的頁(yè)面,businessIndex獲取到了對(duì)應(yīng)的值。
5.跳轉(zhuǎn)到票據(jù)準(zhǔn)印單管理pjzydgl.vue頁(yè)面。
mounted () {
if (this.$route.query.businessIndex) {
this.tzdetail(this.$route.query)
}
}6.根據(jù) businessIndex獲取到對(duì)應(yīng)的值。
methods {
tzdetail (data) {
this.detail(data.businessIndex, 'detail')
},
detail (row) {
const url = `${window.zvconfig.url.pjsyDetail}?id=${row}`
this.$axios.get(url).then(res => {
if (res.data.status === '00000') {
this.detailForm = res.data.data
this.childTableData = res.data.data.detailList
} else {
this.$Message.error(res.data.msg)
}
})
},
// 關(guān)閉彈窗回到我的申請(qǐng)頁(yè)面
cancelModal () {
if (this.$route.path.indexOf('/wfqlcfjdj/') > -1) {
this.$router.push({
path: '/wfqlc'
})
}
},
}總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue 權(quán)限認(rèn)證token的實(shí)現(xiàn)方法
這篇文章主要介紹了vue 權(quán)限認(rèn)證token的實(shí)現(xiàn)方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-07-07
Vue3+Vite中不支持require的方式引入本地圖片的解決方案
這篇文章主要介紹了Vue3+Vite中不支持require的方式引入本地圖片的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01
Vue3通過(guò)hooks方式封裝節(jié)流和防抖的代碼詳解
vue3 中的 hooks 就是函數(shù)的一種寫(xiě)法,就是將文件的一些單獨(dú)功能的js代碼進(jìn)行抽離出來(lái),放到單獨(dú)的js文件中,或者說(shuō)是一些可以復(fù)用的公共方法/功能,本文給大家介紹了Vue3通過(guò)hooks方式封裝節(jié)流和防抖,需要的朋友可以參考下2024-10-10
el-tree懶加載的實(shí)現(xiàn)以及局部刷新方式
這篇文章主要介紹了el-tree懶加載的實(shí)現(xiàn)以及局部刷新方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04
Vue使用Pinia輕松實(shí)現(xiàn)狀態(tài)管理
pinia,一個(gè)基于Vue3的狀態(tài)管理庫(kù),它可以幫助開(kāi)發(fā)人員管理Vue應(yīng)用程序的狀態(tài),本文主要為大家介紹了Pinia的用法,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-06-06
treeSelect樹(shù)組件設(shè)置父節(jié)點(diǎn)禁用的方法實(shí)例
這篇文章主要給大家介紹了關(guān)于treeSelect樹(shù)組件設(shè)置父節(jié)點(diǎn)禁用的相關(guān)資料,文中通過(guò)圖文以及示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-12-12
關(guān)于el-select組件設(shè)置默認(rèn)值的實(shí)現(xiàn)方式
這篇文章主要介紹了關(guān)于el-select組件設(shè)置默認(rèn)值的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09

