这篇文章主要介绍“vue怎么使用router-view调用页面”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue怎么使用router-view调用页面”文章能帮助大家解决问题。
在项目中,需要在其中一个页面,调用很多其他页面的表单,所以使用router来实现页面的调用。
vue-router有传递参数的两种方式,get和post。
页面跳转
this.$router.push({path:'/xxx',query:{id:1}});//类似get传参,通过URL传递参数
新页面接收参数
this.$route.query.id
页面跳转
//由于动态路由也是传递params的,所以在 this.$router.push() 方法中 path不能和params一起使用
//否则params将无效。
//需要用name来指定页面。
this.$router.push({name:'page2',params:{id:1}});//类似post传参
新页面接收参数
this.$route.params.id
注意:在页面进行刷新的时候经常会遇到参数变了,但是新页面接受的参数没有变化。这种问题可以通过加watch解决。
watch: {
'$route'(to, from){
//在这里重新刷新一下
this.getParams();
}
}
首先,我们的页面是wfqlc.vue(我的申请),被调用的页面为pjzydgl.vue(票据准印单管理)。
1.在router的index.js文件里,给我的申请页面加children。
2.在需要跳转的地方添加router-view。
<!-- 附加单据 -->
<Modal
title="附加单据"
v-model="fjdjModal"
:mask-closable="false"
:transfer="false"
width="600"
>
<div class="modal-wrap">
<router-view></router-view>
</div>
</Modal>
3.在我的申请wfqlc.vue页面,把请求发送出去。
// 附加单据
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.请求会拼在地址栏发送过去
path传的参数跳转到了对应的页面,businessIndex获取到了对应的值。
5.跳转到票据准印单管理pjzydgl.vue页面。
mounted () {
if (this.$route.query.businessIndex) {
this.tzdetail(this.$route.query)
}
}
6.根据 businessIndex获取到对应的值。
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)
}
})
},
// 关闭弹窗回到我的申请页面
cancelModal () {
if (this.$route.path.indexOf('/wfqlcfjdj/') > -1) {
this.$router.push({
path: '/wfqlc'
})
}
},
}
关于“vue怎么使用router-view调用页面”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://blog.csdn.net/weixin_44320032/article/details/123552448