小程序
小游戏
企业微信
微信支付
扫描小程序码分享
我有一个通用的request的方法,每个ajax都会调用这个方法,如果没有登录就会通过showModal提示未登录,然后让用户点击进入登录页面进行登录。
A页面有3个请求ajax的方法,如果没登录就会弹出3个showModal,
为什么showModal不会覆盖呢?如果用户不想登录就得手动关闭3次,有什么方法只让他显示一个?
8 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
可以存一个变量记住是否打开过,你就在判断里判断这个变量
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
// app.js 里面对 wx.showModal 简单封装一下,加个全局变量 this.globalData.wx_showModal 拦截一下,后续调用 wx.showModal2 试试 wx.showModal2 = (opt) => { if(this.globalData.wx_showModal){ return } this.globalData.wx_showModal = true if (opt.success) { opt.successNext = opt.success opt.success = res => { this.globalData.wx_showModal = false opt.successNext(res) } } wx.showModal(opt) }
供参考
为什么要调用showModal方法3次呢?
我也遇到了同样的问题,不知道怎么判断wx.showModal 已经被打开了,如果打开了就不要再次打开modal,
这个逻辑真的不好处理,也没有提供一个close modal的API。
修改3个请求的调用顺序吧
要想弹出一个只能你自己改前端逻辑了
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
可以存一个变量记住是否打开过,你就在判断里判断这个变量
// app.js 里面对 wx.showModal 简单封装一下,加个全局变量 this.globalData.wx_showModal 拦截一下,后续调用 wx.showModal2 试试 wx.showModal2 = (opt) => { if(this.globalData.wx_showModal){ return } this.globalData.wx_showModal = true if (opt.success) { opt.successNext = opt.success opt.success = res => { this.globalData.wx_showModal = false opt.successNext(res) } } wx.showModal(opt) }
供参考
为什么要调用showModal方法3次呢?
我也遇到了同样的问题,不知道怎么判断wx.showModal 已经被打开了,如果打开了就不要再次打开modal,
这个逻辑真的不好处理,也没有提供一个close modal的API。
修改3个请求的调用顺序吧
要想弹出一个只能你自己改前端逻辑了