场景
- 一个 userId 对应多个 nodeId,通过路由 router.currentRoute.value.query.id 拿到 nodeId 并使用 localStorage 进行缓存,但是同一用户打开多个 nodeId 的页面的时候,nodeId 会被覆盖
解决方案
-
localStorage
-
key:keyName + nodeId
-
value:nodeId
-
比对 key 来判断打开的是哪个 nodeId 的页面
-
问题,key 中 nodeId 和要比对的 nodeId 都是通过路由拿到的,多此一举了
-
key 中加 value 来做校验思路可以参考
-
-
直接从 url 中拿到 nodeId
// 使用URLSearchParams来解析参数
const urlParams = new URLSearchParams(window.location.search)
// 使用get方法获取id参数的值
const nodeId = urlParams.get('id')
TBC
-
window.location.href
- 获取完整的 URL
-
new URLSearchParams(window.location.search)