history.state 无法传参ref值
时间: 2024-05-11 09:19:03 浏览: 67
使用ajax和history.pushState无刷新改变页面URL示例
这是因为 `history.state` 只能存储 JSON-serializable 数据,而 `ref` 是一个对象,不能被 JSON 序列化。如果你需要在历史记录中存储一个对象引用,可以考虑使用一个唯一的标识符,并将它存储在 `history.state` 中,然后在需要使用该对象时,使用该标识符来获取它。
例如,你可以将 `ref` 的 `id` 属性存储在 `history.state` 中:
```javascript
const id = ref.id
history.pushState({ id }, '', '/new-url')
```
然后,你可以在新的页面中使用该 `id` 来获取相应的对象:
```javascript
const id = history.state.id
const ref = document.getElementById(id)
```
阅读全文