vue路由传参刷新页面参数丢失,vue router刷新当前页面

  vue路由传参刷新页面参数丢失,vue router刷新当前页面

  这篇文章主要介绍了某视频剪辑软件路由器传递参数并解决刷新页面参数丢失问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

  某视频剪辑软件路由器传参方式:

  1. this.$router.push({ name: 模块名称, params: { // 各参数 } })

  router.js:

  导出默认新路由器({

  路线:[

  {

  路径:"/paramsPassingByRouter ",

  组件:ParamsPassingByRouter,

  儿童:[

  {

  路径:“paramsMode”,

  名称: paramsMode ,

  组件:ParamsMode

  }

  ]

  }

  ]

  })

  ParamsPassingByRouter.vue:

  !- html -

  button @ click= params mode(testData) params传参/按钮

  !- js -

  脚本

  导出默认值{

  data () {

  返回{

  测试数据:{

  id: 20180101 ,

  名称: 张三,

  又名:“z3”,

  年龄:"18岁"

  }

  }

  },

  方法:{

  参数模式(数据){

  这个. router.push({

  名称: paramsMode ,

  参数:数据

  })

  }

  }

  }

  /脚本

  ParamsMode.vue:

  !- html -

  div class= params-mode " { testData } }/div

  !- js -

  脚本

  导出默认值{

  data () {

  返回{

  测试数据:{}

  }

  },

  已创建(){

  this.testData=this .$route.params

  }

  }

  /脚本

  效果:

  URL:http://localhost:8081/#/paramsPassingByRouter/params模式

  页面显示:{id:20180101 ,姓名:张三,又名: z3 ,年龄: 18}

  但是刷新页面后,数据会丢失,显示:{}。

  2. this.$router.push({ name: 模块名称, query: { // 各参数 } })

  router.js:

  导出默认新路由器({

  路线:[

  {

  路径:"/paramsPassingByRouter ",

  组件:ParamsPassingByRouter,

  儿童:[

  {

  路径:“queryMode”,

  名称:查询模式,

  组件:QueryMode

  }

  ]

  }

  ]

  })

  ParamsPassingByRouter.vue:

  !- html -

  button @ click=查询模式(testData)查询传参/按钮

  !- js -

  脚本

  导出默认值{

  data () {

  返回{

  测试数据:{

  id: 20180101 ,

  名称: 张三,

  又名:“z3”,

  年龄:"18岁"

  }

  }

  },

  方法:{

  查询模式(数据){

  这个. router.push({

  名称: paramsMode ,

  查询:数据

  })

  }

  }

  }

  /脚本

  QueryMode.vue:

  !- html -

  div class=查询模式“{ testData }}/div

  !- js -

  脚本

  导出默认值{

  data () {

  返回{

  测试数据:{}

  }

  },

  已创建(){

  this.testData=this .$route.query

  }

  }

  /脚本

  效果:

  URL:http://localhost:8081/#/paramsPassingByRouter/查询模式?id=20180101name=张三aka=z3age=18

  页面显示:{id:20180101 ,姓名:张三,又名: z3 ,年龄: 18}

  刷新页面后,数据不会丢失。

  解决刷新页面数据丢失的方案:

  使用 this.$router.push({ name: 模块名称, query: { // 各参数 } }) 方式传参。

  缺点:参数值都拼接在全球资源定位器(统一资源定位器)上,网址会很长,同时都可被看到。

  this.$router.push({ name: 模块名称, params: { // 各参数 } }) 路由文件设置的时候把参数拼到 url 里。

  URL:http://localhost:8081/#/paramsPassingByRouter/params mode/2018 01 01/张三/z3/18

  缺点:同上。

  1 和 2 结合使用:this.$router.push({ name: 模块名称, params: { // 各参数 }, query: { // 各参数 } })。

  老老实实的用 localStorage 存储。

  URL:http://localhost:8081/#/paramsPassingByRouter/params mode/z3

  可以与参数和询问方式配合使用,可以暴露的参数显示在全球资源定位器(统一资源定位器)上,同时刷新参数也不会丢失。

  销毁页面的时候把本地存储存储的内容清除。

  //router.js

  {

  路径: paramsMode/:aka ,

  名称: paramsMode ,

  组件:ParamsMode

  }

  !- ParamsMode.vue修改-

  脚本

  导出默认值{

  data () {

  返回{

  测试数据:{}

  }

  },

  已创建(){

  const tempData=本地存储。getitem( tempData )

  if (tempData) {

  这个。测试数据=JSON。解析(临时数据)

  }否则{

  this.testData=this .$route.params

  localStorage.setItem(tempData ,JSON.stringify(this .$route.params))

  }

  },

  销毁前(){

  本地存储。移除项目( tempData )

  }

  }

  /脚本

  到此这篇关于某视频剪辑软件路由器传递参数并解决刷新页面参数丢失问题的文章就介绍到这了,更多相关某视频剪辑软件路由器传递参数丢失内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: