您的位置:首页 > 科技 > 能源 > 研发工程师和开发工程师_商品房合同备案查询_重庆可靠的关键词优化研发_30个免费货源网站

研发工程师和开发工程师_商品房合同备案查询_重庆可靠的关键词优化研发_30个免费货源网站

2025/3/18 20:05:38 来源:https://blog.csdn.net/qq_39352780/article/details/146317624  浏览:    关键词:研发工程师和开发工程师_商品房合同备案查询_重庆可靠的关键词优化研发_30个免费货源网站
研发工程师和开发工程师_商品房合同备案查询_重庆可靠的关键词优化研发_30个免费货源网站

前言

uniapp项目中,每个tabbar页面来回点时候,不会触发页面更新。但是有时页面上有数据发生改变需要更新模版时,就得能及时的通知到页面。如果在onshow生命周期里每次都调用异步请求更新数据,有些不合理,况且页面有时不需要更新。
经过思考,我们可以定义一个全局变量,根据全局变量的值来看是否需要更新数据。

开始

细化需求举例:下图是我的聊天记录列表。
当我有新的聊天时,点击“对话”tabbar需要更新此列表。
当无新聊天时,点击此“对话”tabbar不做任何动作。
在这里插入图片描述

首先定义全局变量:
根目录/src/utils/globleState.js:

import { ref,reactive } from "vue"let gloableState = reactive({chatListIsRefresh:false,  // 是否需要刷新聊天记录列表collectListIsRefresh:false
})
export function useGloableState(){return gloableState
}

在聊天记录页面这样用:
src/pages/chatList/chatList.vue

<script setup>import {useGloableState} from '@/utils/gloableState.js'let gloableState = useGloableState()getChatList(){let res = await ... // 异步请求取最新的聊天记录列表gloableState.chatListIsRefresh = false; // 更新全局变量,表示聊天列表已是最新}onShow(() => {if(gloableState.chatListIsRefresh){ // 如果检测到需要更新聊天记录列表才重新请求数据getChatList() // 重新请求数据}});
</script>

在聊天页面,如果有新聊天,去更新全局变量为true,表示有新聊天,需要刷新聊天记录列表:
src/pages/chat/chat.vue

<script setup>import {useGloableState} from '@/utils/gloableState.js'let gloableState = useGloableState()chat(){... // 此处为发送聊天逻辑gloableState.chatListIsRefresh = true; // 更新全局变量,表示聊天列表需要更新}
</script>

后记

在此记录问题解决方法,也给需要的朋友们一个思路。有问题可以留言我们一起讨论。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com