小程序页面通信、bindtap/catchtap 与页面清理怎样处理?
先理解原理和示例,再练习完整口述与追问。
回答要点
URL 小参数、EventChannel、共享状态与存储;事件传播;onShow/onHide/onUnload;验证参数与取消请求。
原理拆解
路由参数适合少量可编码标识,大对象可通过适用平台的 EventChannel 或明确共享状态传递,持久恢复再选择存储或服务端。各渠道生命周期不同,不能把全局变量当所有页面永久正确的源。bindtap 通常允许对应事件继续冒泡,catchtap 阻止相应冒泡传播,不能简单类比为所有浏览器 event API 的完全替代。
示例与推演
列表打开详情只传记录 ID,详情读取后请求当前授权数据;编辑成功通过约定事件通知列表失效,返回 onShow 时按标记重查。onHide 暂停可视相关轮询,onUnload 清理计时器、订阅与请求;快速切换记录时仍使用 ID/版本校验旧响应。
易错点
参数可被构造,后端必须鉴权。onHide 不等于销毁,返回也不一定重新创建;不同路由方法对栈和页面生命周期影响不同。
参考回答可直接练习口述
我按数据大小和生命周期选择路由、事件通道或共享源,通信只传必要信息。事件区分绑定与截断传播,页面显示、隐藏、卸载分别管理刷新和资源,真实数据仍由授权接口确认。