javascript - MDC:单击浏览器的后退按钮时,drawer.open 未初始化
问题描述
我想用抽屉。我编写了基本代码,这样当用户单击导航按钮时,drawer.open 会被切换(即 true、false、true、false、...)。但是,如果用户通过单击抽屉菜单中的链接进入其他页面并通过单击浏览器的后退按钮返回,则drawer.open 为true,并且用户无法单击浏览器的导航按钮。
- 用户打开页面:
drawer.open=false
。 - 用户单击导航按钮:
drawer.open=true
。 - 用户单击菜单中的链接:
drawer.open=false
在新页面中。 - 用户单击浏览器的后退按钮并返回:
drawer.open=true
.
为什么drawer.open=true
在4.?我该如何解决?
解决方案
当用户单击浏览器的后退按钮时,重新加载页面以初始化 JavaScript 变量。
<script>
window.onpageshow = function(event) {
if (event.persisted) {
window.location.reload();
}
};
</script>
推荐阅读
- python - Word2Vec 训练的语料库中不可用的单词
- java - 没有数组的递归。IDE 打印正确的输出,FileWriter 没有
- python - 录制视频直到达到特定时间
- excel - VBA 我可以创建一个由一组工作表组成的 Iterable 对象吗?
- foreach - 如何在 SwiftUI 列表中使用 .focusedValue
- python - Python:在多台机器上使用相对路径
- mysql - NodeJs 和 MySql 连接中的异步/等待
- django - 无法在 Django UpdateView form_valid 中动态保存 user.is_active 或信号
- python - 运行 Python 脚本时出错,Web Scraping 代码
- java - 更新数组中的特定对象元素