当前位置:首页 > 技术文章 > 正文内容

关于Vue页面跳转传参,参数不同, 但页面只获取参数一次的问题

zonemu2个月前 (07-26)技术文章28

#头条创作挑战赛#

1.问题描述

问题描述: element 展示表格(页面A),点击表格的每一行的查看详情按钮,可以携带此行的信息参数跳转到另一个页面(页面B),但是从A页面到B页面,只有第一次跳转的时候B页面可以获取到A页面的参数,返回再次A->B ,B页面无法获取到参数。

2.解决办法:

方法一:在接受参数的页面(B页面)添加路由监听

A页面传参:
  pushToRouter(val) {
    this.$router.push({
      path: '/pageRouter/pushPage',
      query: { val: val}
    })
  }
B页面接收参数:
  mounted() {
    this.getParams();
  },
  // 如果不用watch进行监听,则会出现参数只获取一次的情况
  watch: {
    '$route'(){
     this.getParams();
    }
  },
  methods: {
    // 接收参数的方法
  	getParams() {
	  this.param = this.$route.query.val;
	}
  }

方法二:在接受参数的页面(B页面)使用beforeRouteUpdate方法

A页面传参:
  pushToRouter(val) {
    this.$router.push({
      path: '/pageRouter/pushPage',
      query: { val: val}
    })
  }
B页面接收参数:
export default {
// 添加beforeRouteUpdate,注意此方法的位置
  beforeRouteUpdate(to, from, next) {
    next()
    this.getParam();
  },
  name: "pageToRouter",
  data() {
    return {
      param: null
    }
  },
  mounted() {
    this.getParam();
  },
  methods: {
    getParam() {
      this.param = this.$route.query.val;
    }
  }
}

3.结束(贴上代码图片)

A页面传参:


B页面接受参数(方法一):


B页面接收参数(方法二):

相关文章

Vue3 如何实现父子组件传值?(vue父子组件传值props)

在Vue 3中,要实现父子组件传值效果主要通过props和emit两种机制来实现,下面我们就来详细介绍一下这两种机制。父组件向子组件传值propsprops是Vue组件的一种机制,主要的作用就是实现从...

【Vue3 基础】05.组件化(组件使用vuex)

这是 Vue3 + Vite + Pinia +TS + Element-Plus 实战系列文档。最近比较忙没什么时间写文章,争取早日把这个系列完结吧~生命周期和模板引用在本章之前,我们通过响应式 a...

HTML5学习笔记三:HTML5语法规则(html5语法详解)

1.标签要小写2.属性值可加可不加””或”3.可以省略某些标签 html body head tbody4.可以省略某些结束标签 tr td li例:显示效果:5.单标签不用加结束标签img inpu...

一键看懂Html5,就这么简单(查看html的app推荐)

HTML5是WEB开发世界的一次重大的改变,事实上不管你是否喜欢,它都是代表着未来趋势。曾几何时,当HTML5出现在web端开发领域的时候,并没有引起太多人的注意,究其原因,一方面是它还没有被广泛的支...

JavaScript中的数组(Array)方法你真的了解吗?

在过去的几个月,我发现我的拉取请求中存在四个完全相同的 JavaScript 错误。于是我写了这篇文章,总结了如何在 JavaScript 中正确使用地使用 Array 的方法!用 Array.inc...

73 “动态数组”用法详解(八) -选择行列CHOOSECOLS函数

今天继续分享动态数组专属函数系列行列数组函数系列之选择行列。选择行列这个函数原来没有发现他们的特殊之处,一直到有一天需要把常规公式更改为动态数组后,才发现这个函数的优秀之处。老规矩,还是看语法,再看案...