Rust gloo_events嵌套事件监听器生命周期错误求助
问题:Rust/WASM画布矩形选择工具事件监听生命周期异常
数月前我启动了Rust与WASM的开发项目,目标是打造集成加密与去中心化网络的新一代开源WASM CMS(可参考Fermyon Bartholomew、Locutus、Holochain),计划围绕该项目开展业务,欢迎感兴趣者参与。
目前我卡在画布矩形选择工具的实现上已有数周,该工具需要在画布上绘制空心矩形,核心逻辑依赖三个嵌套事件监听器:
onmousedown:记录鼠标点击的x/y坐标,添加第二个事件监听器;onmousemove:若未添加则添加第三个事件监听器,负责绘制/重绘矩形;onmouseup:将Point设为None,移除自身与onmousemove监听器。
项目代码托管地址:https://github.com/MojoMotion/canvas_rectangle_drawing_example(欢迎提交PR)
我推测问题源于EventListener.forget()导致变量超出作用域,尝试过使用Rc、RefCell及'static生命周期仍未解决,考虑用EventListener.callback()结合Futures但因JS经验不足感到困惑,现求助可行的解决方案。
内容的提问来源于stack exchange,提问作者user8654594
相关产品推荐
相关产品推荐

