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
    };
}
相关推荐
小月土星1 小时前
React Router 前端路由深度解析:从传统后端路由到现代 SPA 的完整演进
前端
程序员黑豆1 小时前
鸿蒙开发 Navigation 路由教程:从入门到实战
前端·harmonyos
用户938515635074 小时前
从零理解 React Router v6:每一个 API 都是怎么工作的
前端·javascript·全栈
用户059540174465 小时前
Redis缓存回滚踩坑实录:一个配置失误,让我在凌晨3点丢了3000条数据
前端·css
kyriewen6 小时前
别再这样写条件渲染了——你的React组件里藏着这5种定时炸弹
前端·javascript·react.js
IT_陈寒7 小时前
Redis缓存击穿把我坑惨了,原来这样设过期时间才靠谱
前端·人工智能·后端
用户938515635077 小时前
从"坐电梯"到"前端路由"——深入理解 Hash 路由原理
前端·typescript·全栈
梦想CAD控件7 小时前
网页端CAD的图形选择、编辑与夹点操作教程
前端·javascript·node.js
妙码生花7 小时前
从 PHP 到 AI + Golang,程序员自救转型手记(五十二):管理员权限检查中间件,AI 随意放行预闯大祸
前端·后端·go
月月大王的3D日记7 小时前
Three.js 入门系列(8):六种光源全解析 —— 关灯了,开光!
前端·javascript