vue清除地址栏路由参数方式

vue清除地址栏路由参数

方式一:

let path = this.$route.path; //先获取路由路径
this.$router.push(path); //再跳转路由路径,query参数没带过去,所以被清除了

方式二:

this.$router.push({ query: {} });

vue删除query中个别参数或清除query

在写项目过程中涉及到一个需求,大概形容一下就是第一次进入会有一个编辑弹窗,如果点击编辑弹窗的保存按钮后,刷新页面,弹窗则不在弹出。

假设添有一个 type为open的参数

let resolves = this.$router.resolve({
  name: 'OrdersDetail',
  query: {
    orderId: this.orderId,
    channel: this.salesChannel,
    type: 'open' // 目标参数
  }
})
window.open(resolves.href, '_blank')

删除type参数

let newQuery = JSON.parse(JSON.stringify(this.$route.query)) // 先拷贝一个一模一样的对象
delete newQuery.type //再删除page
this.$router.replace({ query: newQuery }) //再把新的替换了

删除全部query参数

let path = this.$route.path //先获取路由路径
this.$router.replace(path) //再跳转路由路径,query参数没带过去,所以被清除了

或者

this.$router.replace({ query: {} });

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

原文地址:https://lihefei.blog.csdn.net/article/details/105410470