javascript - 在 Javascript 中将附加数据传递给事件侦听器
问题描述
假设我有两种观点:
- 图库:显示草图列表,可通过以下方式访问
www.mywebsite.com/#gallery
- 草图:显示单个草图,可通过以下方式访问
www.mywebsite.com/#sketch/:id
每次用户单击图库中的草图时,我都想转到传递单击的草图的草图视图。
我怎样才能使这项工作?
我已经尝试过使用CustomEvent
s:
onSketchClick = () => {
const event = new CustomEvent('hashchange')
event.additionalData = {
sketchElement: this.element
}
window.dispatchEvent(event)
}
它工作得很好,但是单击草图时 URL 不会改变。
我可以简单地添加
window.location.hash = '#sketch/${this.id}'
在里面onSketchClick
,但这会触发hashchange
事件监听器两次。
有什么方法可以在不使用CustomEvent
s 的情况下发送数据?
解决方案
推荐阅读
- css - 在 React 中使用 CSS 进行样式设置
- typescript - 打字稿:从另一种类型的可选属性中构造具有所需属性的新类型
- field - Word 公式字段在标题中未正确显示
- python - 如何一次对字典或列表中的所有嵌套字典和列表进行排序?
- python - ModuleNotFoundError:旧版本的 pytorch 没有名为“火炬”的模块
- javascript - 如何将 required = false 更改为所需的输入
- ios - iOS 上的 Firebase AppCheck:403 权限错误 - PERMISSION_DENIED
- java - 易失性变量读取行为
- python - 给定一个 geotiff 文件,如何找到最接近给定纬度/经度的单个像素?
- android - 如何私下部署 React Native (expo) 应用程序?