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
    };
}
相关推荐
王码码20358 分钟前
Flutter for OpenHarmony:Flutter 三方库 algoliasearch 毫秒级云端搜索体验(云原生搜索引擎)
android·前端·git·flutter·搜索引擎·云原生·harmonyos
发现一只大呆瓜13 分钟前
深入浅出 AST:解密 Vite、Babel编译的底层“黑盒”
前端·面试·vite
天天鸭31 分钟前
前端仔写了个 AI Agent,才发现大模型只干了 10% 的活
前端·python·ai编程
发现一只大呆瓜1 小时前
前端模块化:CommonJS、AMD、ES Module三大规范全解析
前端·面试·vite
IT_陈寒1 小时前
一文搞懂JavaScript的核心概念
前端·人工智能·后端
IT_陈寒1 小时前
Java开发者必看!5个提升开发效率的隐藏技巧,你用过几个?
前端·人工智能·后端
前端Hardy1 小时前
Wails v3 正式发布:用 Go 写桌面应用,体积仅 12MB,性能飙升 40%!
前端·javascript·go
Laurence1 小时前
Qt 前后端通信(QWebChannel Js / C++ 互操作):原理、示例、步骤解说
前端·javascript·c++·后端·交互·qwebchannel·互操作
Pu_Nine_91 小时前
JavaScript 字符串与数组核心方法详解
前端·javascript·ecmascript
码云数智-园园1 小时前
从输入 URL 到页面展示:一场精密的互联网交响乐
前端