您现在的位置是:网站首页> 编程资料编程资料
vue-router如何实时动态替换路由参数(地址栏参数)_vue.js_
2023-05-24
427人已围观
简介 vue-router如何实时动态替换路由参数(地址栏参数)_vue.js_
实时动态替换路由参数(地址栏参数)
应用场景
例如:
页面上有多个tab,点击不同的tab,跳转到不同的页面上去,再次返回的时候,需要知道上次点击的是哪个tab,这样不用存缓存,直接改路由参数,然后直接返回就可以了;
用法如下
import merge from 'webpack-merge'; //如果路由没有参数name,就新增一个参数,如果有的话,就是修改name的值 //可以修改多个参数 this.$router.push({ query:merge(this.$route.query,{'name':'小米'}) }); this.$router.replace({ query: merge(this.$route.query, {'name':'小米'}) }); this.$router.push({ query: merge(this.$route.query, { 'name': '小米', 'age':'9' }) }); this.$router.replace({ query: merge(this.$route.query, { 'name': '小米', 'age':'9' }) }); //替换所有的参数 this.$router.push({ query:merge({},{'name':'小米'}) }) this.$router.replace({ query:merge({},{'name':'小米'}) }) replace()和push() 的区别
1. this.$router.push()
描述:此方法会向history栈添加一个记录,返回this.$router.back()会返回到上一个页面。
2.this.$router.replace()
描述:此方法不会向history里面添加新的记录,返回this.$router.back()会直接跳转到上上一个页面。
动态替换路由-Url参数
动态替换和修改URL的参数,可使用webpack-merge包来完成。
安装webpack-merge
npm install webpack-merge --D
引入包
import merge from 'webpack-merge'
操作参数
新增
// 新增一个id this.$router.push({ query:merge(this.$route.query,{'id':'123'}) })修改
// 修改id this.$router.push({ query:merge(this.$route.query,{'id':'456'}) })替换
// 替换所有参数为userId this.$router.push({ query:merge({},{'userId':'xxx123456'}) })以上为个人经验,希望能给大家一个参考,也希望大家多多支持。
相关内容
- element-ui中el-input只输入数字(包括整数和小数)_vue.js_
- Vue Router修改query参数url参数没有变化问题及解决_vue.js_
- vue中如何防止用户频繁点击按钮详解_vue.js_
- vue中的路由传值与重调本路由改变参数_vue.js_
- 前端算法题解leetcode36-有效的数独示例_JavaScript_
- 关于TypeScript的踩坑记录_vue.js_
- vue3 组件与API直接使用的方法详解(无需import)_vue.js_
- 一文搞懂JavaScript中的this绑定规则_javascript技巧_
- JS消息弹框alert、confirm、prompt的实现代码_javascript技巧_
- JS中的提升机制变量提升函数提升实例详解_javascript技巧_
