当前位置 : 主页 > 网络编程 > JavaScript >

vue如何实现清空this.$route.query的值

来源:互联网 收集:自由互联 发布时间:2023-02-08
目录 如何清空this.$route.query的值 mounted destroyed 改变this.$route.query中的数据 如何清空this.$route.query的值 mounted 定义一个 localStorage 来判断当前是否是query携带参数进来页面的 //如果有当前
目录
  • 如何清空this.$route.query的值
    • mounted
    • destroyed
  • 改变this.$route.query中的数据

    如何清空this.$route.query的值

    mounted

    定义一个 localStorage 来判断当前是否是query携带参数进来页面的

    //如果有当前localStorage isTest 则 清空query
     if(localStorage.getItem('isTest')){
         this.$router.push({ query: {} })
     }
    //
     if(this.$route && this.$route.query && this.$route.query.id){
         //定义一个 localStorage isTest
         localStorage.setItem('isTest', true)
         // 这里处理携带进来的参数
     }

    destroyed

    destroyed() {
       localStorage.removeItem('isTest')
    }

    改变this.$route.query中的数据

    某些特定情况下想改变this.$route.query中的数据(就是地址栏中的参数),是不能通过直接赋值来改变的,我目前知道的一个办法是下载webpack-merge依赖包实现:

    下载:

    npm i webpack-merge

    引入:

    import merge from 'webpack-merge';

    修改:

    this.$router.push({
        query:merge(this.$route.query,{'id':'630'})
    })

    如果id本来存在的话就是修改id的值,不存在的话就会添加id这个属性,如果想替换所有的属性只要把’id’换成{}就可以。 

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

    上一篇:Vue3组合式API之getCurrentInstance详解
    下一篇:没有了
    网友评论