vue中如何监听url地址栏参数变化

 更新时间:2023年03月10日 10:49:47   作者:Right atrium  
这篇文章主要介绍了vue中如何监听url地址栏参数变化问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

vue监听url地址栏参数变化

问题:

在开发过程中我们有可能会遇到一个问题,就是在一个vue项目中引入了一个组件,点击这个组件跳转的还是当前的页面,只是传递的参数发生了变化,这个时候我们传递的参数就不能正常的赋值了,这是因为页面没有重新加载,所以我们就要监听地址栏的参数变化了。

1、传递参数

    this.$router.push({
        path: url,//路由地址
        query:{//参数
            type: 1
        }
    });

2、监听参数变化

    watch: {
        //监听路由地址的改变
        $route:{
            immediate:true,
            handler(){
                if(this.$route.query.type){//需要监听的参数
                    this.type = this.$route.query.type
                }
            }
        }
    }

vue检测url的变化-Kaiqisan

之前尝试在vue中监听路由变化,发现在vue中无法使用window.location来监听,于是另外找了一种方法。

这个检测不会去检测域名,端口,协议的变化,只会检测端口后面的内容的变化,检测路由的值和参数的值.

'$route': {
    handler(val) {
        console.log(val);
    },
    deep: true
    // immediate: true
},

在vue中去监听$route就可以了,这里面包含了端口号后面的所有信息。

每一次跳转路由都会监听到路由的变化(甚至可以监听锚的变化和参数的变化),记得添加深度监听(其实在watch里面,待监听参数命名这里如果使用字符串—(’$route’)—的话就可以直接进入深度监听)

PS:如果您只是想要监听路由 单一部分 的变化的话,建议把监听对象写得更加详细一些,比如…

'$route.path'(val) {
    // ........
}

'$route.query'(val) {
    // ........
}

虽然还是深度监听,但是性能会大有提高。

最后测试的部分就交给大家了!

注意:建议把这个监听方法放在一个所有页面都会使用的公共组件上面,这样就可以常驻地监听而不会因为组件的切换而导致监听的失效。

总结

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

相关文章

  • Vue3+Three.js实现为模型添加点击事件

    Vue3+Three.js实现为模型添加点击事件

    本文主要介绍了如何在Vue3和Three.js环境中为模型添加点击事件监听,具体方法是利用Three.js的Vector2和Raycaster,首先,创建一个Vector2对象来获取鼠标位置;然后,创建一个Raycaster对象来投射光线
    2024-10-10
  • 详解Vue快速零配置的打包工具——parcel

    详解Vue快速零配置的打包工具——parcel

    本篇文章主要介绍了详解Vue快速零配置的打包工具——parcel,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01
  • Element-UI踩坑之Pagination组件的使用

    Element-UI踩坑之Pagination组件的使用

    这篇文章主要介绍了Element-UI踩坑之Pagination组件,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-10-10
  • 解决iview多表头动态更改列元素发生的错误的方法

    解决iview多表头动态更改列元素发生的错误的方法

    这篇文章主要介绍了解决iview多表头动态更改列元素发生的错误的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11
  • vue 实现Web端的定位功能 获取经纬度

    vue 实现Web端的定位功能 获取经纬度

    这篇文章主要介绍了vue 实现Web端的定位功能获取经纬度,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • vue cookie和本地存储的使用详解

    vue cookie和本地存储的使用详解

    在Vue中,可以使用多种方式来处理cookie和本地存储,不同的方法还有不同的特点和适用场景,本文主要介绍了这些方法的对比和使用场景,希望对大家有所帮助
    2023-08-08
  • Vue 实现可视化拖拽页面编辑器

    Vue 实现可视化拖拽页面编辑器

    这篇文章主要介绍了Vue 实现可视化拖拽页面编辑器的方法,帮助大家更好的理解和使用vue,感兴趣的朋友可以了解下
    2021-02-02
  • Vue3超详细的ref()用法教程(看这一篇就够了!)

    Vue3超详细的ref()用法教程(看这一篇就够了!)

    这篇文章主要给大家介绍了关于Vue3超详细的ref()用法的相关资料,在Vue3中ref函数不仅可以用于在组件中获取DOM元素或子组件的引用,还可以直接访问组件元素本身,需要的朋友可以参考下
    2023-07-07
  • ElementUI组件Dialog弹窗再次打开表单仍显示上次数据的问题

    ElementUI组件Dialog弹窗再次打开表单仍显示上次数据的问题

    这篇文章主要介绍了ElementUI组件Dialog弹窗再次打开表单仍显示上次数据的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • Vue浏览器链接与接口参数实现加密过程详解

    Vue浏览器链接与接口参数实现加密过程详解

    这篇文章主要介绍了Vue浏览器链接与接口参数实现加密过程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2022-12-12

最新评论