vue路由跳转问题,本页面跳转本页面。

打开第一个页面(也就是默认的页面),有一个列表,点击列表的某一项会跳转一个全新的页面(其实和上一个页面是相差不大)这时候也是一个列表点击某一项会跳转到别的页面,因为页面都一样我想这是“自己调到自己的页面”但是发现路径没有变化还是我第一次的路径,我用params query都不行,官网说有一个beforeRouteUpdate照个官网的巧了一遍,还是没用。

采用VUE + ElementUI

可看下主要的代码

<el-table :data="tableData" >
<el-table-column show-overflow-tooltip sortable prop="orgName" label="名称"  min-width="400">
                  <template slot-scope="{row, $index}">
                                <span @click="partyOrg(row)">{{ row.orgName }}</span>
                            </template>
            </el-table-column>
</el-table>
//这是我的方法
      partyOrg(row){
        //0 跳A 非0跳B
        console.log(row)
        if(row.isLeaf === 0){
          this.$router.push({
            path: 'partyDues/statistics/branchDetails',
            name: 'branchDetails',
            query: {
              id: row, //id
            }
          })
        }else{
            let response = {
             payDate : row.payDate,
             orgCode : row.orgCode,
             lable : row.orgName
            }
            let data = JSON.stringify(response);
            console.log(data)
            this.$router.push({
              name: 'partyOrganizationDetail',
              params: {
                data: data,
              }
            })
        }
      },
      //我的路由
      { path: '/partyDues/statistics/partyOrganizationDetail/:data', component: partyOrganizationDetail, name: 'partyOrganizationDetail' },
      //下面的是我跳转之后的页面
 <el-table :data="tableData" >
<el-table-column show-overflow-tooltip sortable prop="orgName" label="名称"  min-width="400">
                  <template slot-scope="{row, $index}">
                                <span @click="partyOrg(row)">{{ row.orgName }}</span>
                            </template>
            </el-table-column>
</el-table>
    mounted:function() {
         let paramData =  this.$route.params;
         let superiorData = JSON.parse(paramData.data);
       console.log(superiorData,'上级页面');
         let dataTime = this.outstandForm.payDate = superiorData.payDate;
         let orgCode = superiorData.orgCode; 
         let data = this.routerData = {
           dataTime,
           orgCode
         }
       this.orgTree(data);//其他请求数据的方法

       this.initTableList();//列表请求的方法
    },  
    //这里就需要本页面跳转本页面 结构都相同 所以就写了和上一个页面一样的方法 但是行不通
             partyOrg(row){
        //0 跳A 非0跳B
        console.log(row)
        if(row.isLeaf === 0){
          this.$router.push({
            path: 'partyDues/statistics/branchDetails',
            name: 'branchDetails',
            query: {
              id: row, //id
            }
          })
        }else{
            let response = {
             payDate : row.payDate,
             orgCode : row.orgCode,
             lable : row.orgName
            }
            let data = JSON.stringify(response);
            console.log(data)
            this.$router.push({
              name: 'partyOrganizationDetail',
              params: {
                data: data,
              }
            })
        }
      },

我觉得用路由里面的一些方法应该可以,但是用哪一个?怎么用。或者可以监听请求数据的方法但是那个样的话用户点返回就看不到上一个表格的内容了。

我已经无计可施了
阅读 8.9k
2 个回答

你的router 里配置 params 参数没有

图片描述

param 参数也写在路由路径上才能返回成功的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题