来自AngularJS的我认为这在Vue.js 2中也很简单。但在Vue中,这似乎是很难设计的。
在AngularJS中,我可以执行此$location.search('my_param', null);
操作,这将有效地将https://mydomain.io/#/?my_param=872136
转换为https://mydomain.io/#/
。
在Vue中,我尝试过this.$router.replace('my_param',null);
,但它只能执行https://mydomain.io/#/?my_param=872136
-> https://mydomain.io/#/my_param
,留下空的my_param。
在Vuejs2中有没有从Url中删除查询参数的功能?我应该求助于普通的JS来实现这一点吗?
发布于 2017-07-21 18:24:32
router.replace()
将通过从浏览器历史堆栈中删除当前URL来导航,并将其替换为您传递给它的参数路由。
实际的语法是router.replace(url_location, onComplete, onAbort)
。
您正在做的是router.replace(my_param, null)
,它将从历史堆栈中删除当前URL并将其替换为'my_param'
,对于onComplete
回调,您将传递一个null
所以你可以这样做:
this.$router.replace('/')
有关programatic navigation的更多信息
发布于 2021-07-08 06:28:14
在有多个查询参数的情况下,删除其中一个参数的正确方法是:
const query = Object.assign({}, this.$route.query);
delete query.my_param;
this.$router.replace({ query });
https://stackoverflow.com/questions/45234567
复制相似问题