vue使用router-view调用页面方式

 更新时间:2023年03月10日 10:21:46   作者:芝士焗红薯  
这篇文章主要介绍了vue使用router-view调用页面方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

使用router-view调用页面

在项目中,需要在其中一个页面,调用很多其他页面的表单,所以使用router来实现页面的调用。

vue-router有传递参数的两种方式,get和post。

1.get方式

页面跳转

this.$router.push({path:'/xxx',query:{id:1}});//类似get传参,通过URL传递参数

新页面接收参数

this.$route.query.id

2.post方式

页面跳转

 //由于动态路由也是传递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 style="height:300px;width:100%;overflow-y: auto;" 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组件的通信方式详解

    Vue组件的通信方式详解

    这篇文章主要介绍的是Vue组件间的通信方式,本文将系统的介绍了几种不使用Vuex,比较实用的组件间的通信方式,希望能帮助到大家
    2023-04-04
  • Vue中引入样式文件的方法

    Vue中引入样式文件的方法

    这篇文章主要介绍了Vue中引入样式文件的方法,需要的朋友可以参考下
    2017-08-08
  • vue 权限认证token的实现方法

    vue 权限认证token的实现方法

    这篇文章主要介绍了vue 权限认证token的实现方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • Vue3+Vite中不支持require的方式引入本地图片的解决方案

    Vue3+Vite中不支持require的方式引入本地图片的解决方案

    这篇文章主要介绍了Vue3+Vite中不支持require的方式引入本地图片的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • Vue3通过hooks方式封装节流和防抖的代码详解

    Vue3通过hooks方式封装节流和防抖的代码详解

    vue3 中的 hooks 就是函数的一种写法,就是将文件的一些单独功能的js代码进行抽离出来,放到单独的js文件中,或者说是一些可以复用的公共方法/功能,本文给大家介绍了Vue3通过hooks方式封装节流和防抖,需要的朋友可以参考下
    2024-10-10
  • vue中v-model对select的绑定操作

    vue中v-model对select的绑定操作

    这篇文章主要介绍了vue中v-model对select的绑定操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08
  • el-tree懒加载的实现以及局部刷新方式

    el-tree懒加载的实现以及局部刷新方式

    这篇文章主要介绍了el-tree懒加载的实现以及局部刷新方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • Vue使用Pinia轻松实现状态管理

    Vue使用Pinia轻松实现状态管理

    pinia,一个基于Vue3的状态管理库,它可以帮助开发人员管理Vue应用程序的状态,本文主要为大家介绍了Pinia的用法,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-06-06
  • treeSelect树组件设置父节点禁用的方法实例

    treeSelect树组件设置父节点禁用的方法实例

    这篇文章主要给大家介绍了关于treeSelect树组件设置父节点禁用的相关资料,文中通过图文以及示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2022-12-12
  • 关于el-select组件设置默认值的实现方式

    关于el-select组件设置默认值的实现方式

    这篇文章主要介绍了关于el-select组件设置默认值的实现方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09

最新评论