手机物理键
需求:h5登记用户信息页面,用户返回,信息能否保存下来
手机物理键返回时,进行操作,将信息保存到本地缓存
1.mounted生命周期挂载,完成后,判断浏览器是否支持popstate
mounted() {
// 如果支持 popstate 一般移动端都支持了
if (window.history && window.history.pushState) {
// 往历史记录里面添加一条新的当前页面的url
history.pushState(null, null, document.URL);
// 给 popstate 绑定一个方法 监听页面刷新
window.addEventListener('popstate', this.fun, false);//false阻止默认事件
}
// 获取本地储存的信息
let addCarInfo = JSON.parse(localStorage.getItem("addCarInfo"));
if(addCarInfo){
if(addCarInfo.number){
this.number = addCarInfo.number;
}
if(addCarInfo.car_type){
this.car_type = addCarInfo.car_type;
}
}
}
2.在页面销毁时候,取消默认事件,否则vue路由也会被监听
destroyed(){
window.removeEventListener('popstate', this.fun, false);//false阻止默认事件
},
3.将监听操作写在methods里面,removeEventListener取消监听内容必须跟开启监听保持一致,所以函数拿到methods里面写
methods:{
// 自己物理返回键的函数
fun(){
console.log("监听到了");
if(this.$route.query.car_record_id === undefined){
let addCarInfo = {
number : this.number,
car_type : this.car_type
}
localStorage.setItem('addCarInfo',JSON.stringify(addCarInfo));
}
},
},
来自:这里
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现