全局函数 概览
TechUI 将一套强大的工具库与交互触发器挂载到了 Vue 的全局实例上。通过统一的入口 $global,开发者可以在组件的逻辑层(Script)、Hook 函数甚至非组件文件中,直接调用系统级能力或唤起 UI 组件。
这种设计旨在解耦逻辑与视图,允许您在不编写模板(Template)代码的情况下,通过纯 JavaScript 逻辑驱动界面的交互反馈与系统状态变更。
核心机制
所有的全局函数均通过 Vue 的 app.config.globalProperties 机制挂载。在 Composition API 中,我们统一通过 inject 依赖注入的方式获取这些函数。
基础调用
您无需单独导入每个函数,只需注入 $global 对象,即可解构出所需的方法:
javascript
import { inject } from 'vue';
// 在 setup 中注入
const {
// 组件函数示例
$tMessage,
$tLoading,
// 功能函数示例
themeToggle,
openEnc
} = inject("$global");
const handleAction = () => {
// 直接调用,无需在 template 中预埋组件
$tLoading('System initializing...');
// 执行系统级逻辑
themeToggle('darkBlue');
};函数分类
为了便于管理与查找,我们将全局函数划分为两大类别:
组件函数 (Component Functions)
“用 JS 渲染 UI”
此类函数主要用于程序化地唤起交互组件。 在传统的开发模式中,使用弹窗或提示通常需要在模板中放置 <TuiDialog> 或 <TuiMessage> 标签,并通过 v-model 控制其显示。而组件函数允许您直接通过函数调用创建实例,它们会自动挂载到 body 或指定节点,并在结束后自动销毁。
- 适用场景:全局消息通知、全屏加载遮罩、动态气泡浮层、强视觉警报等。
- 特点:无需改变 DOM 结构,即用即走。
功能函数 (Functional Utilities)
“系统底层能力的快捷入口”
此类函数是 TechUI 提供的纯逻辑工具集。 它们封装了复杂的底层逻辑(如 WASM 加密、主题引擎计算、路由查询解析等),提供了一套简单直观的 API。通过全局注入,确保了在整个应用生命周期中,工具方法的版本与配置始终保持一致。
- 适用场景:主题切换、国际化文本获取、数据加密存储、路由参数操作、系统特性检测等。
- 特点:纯逻辑执行,通常不涉及 UI 渲染(除路由过渡外)。