uniapp返回上一页局部刷新uni.$on
时间: 2023-10-04 21:10:00 浏览: 72
uniapp提供了`uni.$on`方法来监听自定义事件。该方法可以用于在一个页面中监听其他页面通过`uni.$emit`触发的事件。具体来说,当需要在当前页面返回上一页并进行局部刷新时,可以通过以下步骤实现:
1. 在当前页面的`onLoad`生命周期函数中使用`uni.$on`方法监听自定义事件。例如,可以监听名为"refreshPage"的事件。
2. 在需要进行局部刷新的页面中,在合适的时机(比如点击某个按钮)使用`uni.$emit`方法触发自定义事件"refreshPage"。
3. 当返回到当前页面时,`uni.$on`监听的事件将被触发,可以在事件回调函数中执行局部刷新的操作。
请注意,`uni.$on`和`uni.$emit`方法是uniapp封装的全局事件监听和触发方法,用于实现跨页面的事件通信。同时,对于uniapp的页面跳转,返回上一页可以使用`uni.navigateBack`方法,局部刷新可以根据具体需求在事件回调函数中实现。
参考文献:
js uRequestuGetLocationuShowToastuShowLoadinguHideLoadinguShowModaluShowActionSheetuNavigateTouNavigateBackuRedirectTouStartPullDownRefreshuStopPullDownRefreshuLoginuShareuPay
应用生命周期(app.vue中) onLaunch当uni-app 初始化完成时触发(全局只触发一次)onShow当 uni-app 启动,或从后台进入前台显示onHide当 uni-app 从前台进入后台onError当 uni-app 报错时触发onUniNViewMessage对 nvue 页面发送的数据进行监听,可参考 nvue 向 vue 通讯onUnhandledRejection对未处理的 Promise 拒绝事件监听函数(暂时只支持 CLI 创建的项目使用 CLI 工程,更新 uni 相关版本到 2.0.0-alpha-28020200701003 即可支持 onShareTimeline)
建议使用onLoad代替created 调接口;使用onReady代替mounted 在任何页面均可以使用vue生命周期,组件中只能使用vue生命周期,页面中推荐小程序的生命周期监听app卸载可以在app.vue文件使用beforeDestroy()tabbar页面没有onUnload()卸载页面的方法,所以app打开之后主页面只会执行一次onLoad,只会执行onShow和onHide,所以如果需要刷新页面,在onShow里初始化或者下拉刷新,如果需要传参,只能使用uni.$emit()。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [uniapp笔记和坑](https://blog.csdn.net/weixin_43848576/article/details/107424925)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]