vue Composables 组合式函数

官方文档在这里 cn.vuejs.org/guide/reusa...

作用

提取复杂逻辑,复用更方便。

例子

ts 复制代码
<script setup lang="ts">
import { useUserStatus } from '@/composables/useUserStatus'

const props = defineProps<{ user: User }>()
const { isOnline, statusText } = useUserStatus(props.user)
</script>

@是路径src/composables/useUserStatus

要自己写逻辑。

实现useUserStatus:

js 复制代码
// 模拟 useUserStatus composable
function useUserStatus() {
    const isOnline = ref(true);
    const lastChanged = ref(new Date().toLocaleTimeString());
    
    function toggleStatus() {
        isOnline.value = !isOnline.value;
        lastChanged.value = new Date().toLocaleTimeString();
    }
    
    function simulateNetworkChange() {
        // 随机改变状态来模拟网络变化
        if (Math.random() > 0.5) {
            isOnline.value = true;
        } else {
            isOnline.value = false;
        }
        lastChanged.value = new Date().toLocaleTimeString();
    }
    
    return {
        isOnline,
        lastChanged,
        toggleStatus,
        simulateNetworkChange
    };
}
相关推荐
C澒3 分钟前
前端分层架构实战:DDD 与 Clean Architecture 在大型业务系统中的落地路径与项目实践
前端·架构·系统架构·前端框架
BestSongC7 分钟前
行人摔倒检测系统 - 前端文档(1)
前端·人工智能·目标检测
0思必得040 分钟前
[Web自动化] Selenium处理滚动条
前端·爬虫·python·selenium·自动化
Misnice42 分钟前
Webpack、Vite、Rsbuild区别
前端·webpack·node.js
青茶36043 分钟前
php怎么实现订单接口状态轮询(二)
前端·php·接口
大橙子额1 小时前
【解决报错】Cannot assign to read only property ‘exports‘ of object ‘#<Object>‘
前端·javascript·vue.js
爱喝白开水a3 小时前
前端AI自动化测试:brower-use调研让大模型帮你做网页交互与测试
前端·人工智能·大模型·prompt·交互·agent·rag
董世昌413 小时前
深度解析ES6 Set与Map:相同点、核心差异及实战选型
前端·javascript·es6
吃杠碰小鸡4 小时前
高中数学-数列-导数证明
前端·数学·算法
kingwebo'sZone4 小时前
C#使用Aspose.Words把 word转成图片
前端·c#·word