1、在template的table的列上绑定一个单击事件

    <el-table-column :label="$t('monitor.alarms')" width="110px" align="center">
        <template slot-scope="{row}">
          <span style="color:red;" @click="alarmsHandle(row)">{{ row.alarms }}</span>
        </template>
      </el-table-column>

2、在methods中实现该方法,传参数的时候最好使用query。

/参数获取,params和query区别,query参数在地址栏显示,params的参数不在地址栏显示
    alarmsHandle:function(row){
        let stationId = row.id;
        //window.location.href = "../alarms/index.vue?stationId=" + stationId;
       //点击实现跳转
        //方法一,方法一不会重复打开多个相同的页面,方法二会
        this.$router.push({name: "Alarm", query: {stationId: stationId}})
        //方法二
        // let routeUrl = this.$router.resolve({
        //   path: "Alarm",
        //   query: {stationId: stationId}
        // });
        // window.open(routeUrl.href, '_self');

      }

 

3、代码块2、中的this.$router.push({name:"Alarm",...}),中的name对应的是你的路由配置里面的跳转的那个页面的路由名称

比如我的项目里面我的路由配置是放在router的index.js里面,对应的就是Alarm。

Logo

前往低代码交流专区

更多推荐