目录实时动态替换路由参数(地址栏参数)应用场景用法如下replace()和push() 的区别动态替换路由-Url参数安装webpack-merge引入包操作参数实时动态替
例如:
页面上有多个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':'小米'})
})
1. this.$router.push()
描述:此方法会向history栈添加一个记录,返回this.$router.back()会返回到上一个页面。
2.this.$router.replace()
描述:此方法不会向history里面添加新的记录,返回this.$router.back()会直接跳转到上上一个页面。
动态替换和修改URL的参数,可使用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'})
})
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。
--结束END--
本文标题: vue-router如何实时动态替换路由参数(地址栏参数)
本文链接: https://www.lsjlt.com/news/168276.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-01-12
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0