VueJS:根据过滤器动态更改 URL
VueJS : Dynamically change the URL depending on filters
我有一个项目,前端部分使用 VueJS (2.x)。
我制作了一个组件来进行一些过滤:
而且我希望能够根据过滤器更改 URL,这样我就可以共享 URL 并且其他用户会进行相同的搜索。在我的截图阶段,URL 应该看起来像:my/long/url?username=test&email=@test
。但是不知道怎么实现。
目前,当我 add/remove 一个过滤器时,我创建了一个新的 URLSearchParams
对象,我提交给 vuex 存储并使用 watch
语句再次查询我的后端更新过滤器。
问题是我的 URL 没有改变,当然,因为我没有经过 this.$router.push(...)
或其他任何东西。
可能是我一开始写错了
实现这个目标的好方法是什么?知道使用新查询部分路由到同一视图确实会触发错误 DuplicateNavigation
...
在此先感谢您的帮助:)
我通过使用 history.pushState
实现了与此类似的东西
这基本上允许您修改 URL 即使您没有使用 $router.push
您可以关注URL了解更多详情
https://developer.mozilla.org/en-US/docs/Web/API/History/pushState
我有一个项目,前端部分使用 VueJS (2.x)。 我制作了一个组件来进行一些过滤:
而且我希望能够根据过滤器更改 URL,这样我就可以共享 URL 并且其他用户会进行相同的搜索。在我的截图阶段,URL 应该看起来像:my/long/url?username=test&email=@test
。但是不知道怎么实现。
目前,当我 add/remove 一个过滤器时,我创建了一个新的 URLSearchParams
对象,我提交给 vuex 存储并使用 watch
语句再次查询我的后端更新过滤器。
问题是我的 URL 没有改变,当然,因为我没有经过 this.$router.push(...)
或其他任何东西。
可能是我一开始写错了
实现这个目标的好方法是什么?知道使用新查询部分路由到同一视图确实会触发错误 DuplicateNavigation
...
在此先感谢您的帮助:)
我通过使用 history.pushState
实现了与此类似的东西
这基本上允许您修改 URL 即使您没有使用 $router.push
您可以关注URL了解更多详情 https://developer.mozilla.org/en-US/docs/Web/API/History/pushState