vue公共组件的某部分通过路由的改变显示与隐藏,组件内路由守卫的使用控制两个专属路由之间的数据交互

本文介绍如何使用Vue的路由守卫控制组件间的数据传递,特别是在从特定路由跳转时更新Element-UI表格数据的方法。同时,展示了如何利用watch监听$route变化,实现公共组件在不同路由下显示与隐藏的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

组件内路由守卫的使用控制两个专属路由之间的数据交互:

data() {
    return {
      tableData: [],
      currentRow: null,
      currentTime: "",
      loadTime: ""
    };
  },
  beforeRouteEnter: (to, from, next) => {
    if(from.path === "/eve" && to.path === "/ip"){
      next(vm=>{
        var ipCurrentData = sessionStorage.getItem("ipData");
        vm.tableData = JSON.parse(ipCurrentData);
      });
    }else{
      next()
    }
  },

在这里插入图片描述我在这里是控制ip事件两个路由之间的数据交互,只有从事件跳转ip时才会有数据显示,其余页面跳转到ip页面都会显示暂无数据。具体的路由守卫参数以及使用请看vue官方文档,上述代码:
只有从路由名称为/eve的组件跳转到路由名称为/ip的组件时,改变element-ui表格的数据。

vue公共组件的某部分通过路由的改变显示与隐藏:

data() {
    return {
      value1: "",
      show:true
    };
  },
  watch: {
    $route(to, from) {
      if(to.path === "/shop"){
        this.show = true;
      }else{
        this.show = false;
      }
    }
  },

为了更方便的管理多个路由组件,我将监听属性watch放置在了公共组件内,然后通过数据的truefalse来控制某部分的显示与隐藏。
在这里插入图片描述对照上图可以看到这块的查询按钮被隐藏了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值