Wevu API
快速确认 API 的 Vue 兼容程度、适用范围与导入入口。
应用与通用 API
11createApp()创建 Wevu 应用实例并注册 App 级配置。defineComponent()为页面或组件提供类型推导和 Options API 定义。app.mount()挂载 Wevu 状态适配器并返回运行时实例。app.unmount()执行应用级清理并停止当前 Wevu 应用。app.onUnmount()登记应用卸载时执行的清理函数。app.use()安装函数式或带 install 方法的 Wevu 插件。app.provide()向应用后代提供全局依赖值。app.config读取 Wevu 应用级运行时配置对象。app.config.globalProperties声明组件公共代理可访问的全局属性。app.version读取当前 Wevu 运行时版本。version读取 wevu 包导出的运行时版本字符串。
Script Setup 宏
14defineProps()在 script setup 中声明组件 props。withDefaults()为类型式 defineProps 声明默认值。defineEmits()在 script setup 中声明组件事件。defineSlots()声明插槽名称与插槽参数类型。defineExpose()声明组件向父级实例暴露的成员。defineModel()声明可双向绑定的组件 model。defineOptions()在 script setup 中补充组件选项。defineAppJson()声明并提取 app.json 配置。definePageJson()声明并提取页面 JSON 配置。defineComponentJson()声明并提取组件 JSON 配置。defineSitemapJson()以类型安全函数声明 sitemap 配置。defineThemeJson()以类型安全函数声明主题配置。definePageMeta()声明页面路由、布局和页面级元信息。defineAppSetup()声明 App 启动时执行的 setup 逻辑。
响应式与调度
36ref()创建持有单个响应式值的 Ref。customRef()自定义 Ref 的依赖追踪和触发时机。reactive()把对象转换为深层响应式代理。shallowRef()创建只追踪 value 替换的浅层 Ref。shallowReactive()只让对象第一层属性保持响应式。readonly()创建禁止写入的深层只读代理。shallowReadonly()创建只限制第一层写入的只读代理。computed()根据响应式依赖创建缓存派生值。watch()监听指定数据源并在变化后执行回调。watchEffect()立即运行副作用并自动追踪其中的依赖。watchPostEffect()在更新后的调度阶段运行响应式副作用。watchSyncEffect()在依赖变化时同步运行响应式副作用。effectScope()集中创建和停止一组响应式副作用。getCurrentScope()读取当前正在运行的响应式作用域。onScopeDispose()注册当前响应式作用域停止时的清理函数。toRef()把对象属性或 getter 转换为 Ref。toRefs()把响应式对象的各属性转换为 Ref。unref()读取 Ref 的 value,普通值则直接返回。toValue()统一解析普通值、Ref 或 getter。triggerRef()手动触发浅层 Ref 的依赖更新。toRaw()获取响应式代理背后的原始对象。markRaw()标记对象,使其跳过响应式转换。isRef()判断一个值是否为 Ref。isReactive()判断对象是否为响应式代理。isShallowRef()判断一个值是否为浅层 Ref。isShallowReactive()判断对象是否为浅层响应式代理。isRaw()判断对象是否被标记为跳过响应式转换。isReadonly()判断对象是否为只读代理。isProxy()判断对象是否为响应式或只读代理。nextTick()等待当前响应式更新和渲染任务完成。effect()创建底层响应式副作用并返回 runner。stop()停止指定的响应式 effect runner。batch()合并一段同步修改并集中触发依赖更新。startBatch()开始手动收集一批响应式更新。endBatch()结束批处理并触发已收集的响应式更新。traverse()深度访问数据,用于收集嵌套响应式依赖。
生命周期
34onLaunch()注册小程序 App 首次启动生命周期。onShow()注册 App、页面或组件进入前台生命周期。onHide()注册 App、页面或组件进入后台生命周期。onError()注册 App 运行错误监听。onPageNotFound()注册无法找到目标页面时的 App 回调。onUnhandledRejection()注册未处理 Promise 拒绝监听。onThemeChange()注册系统主题变化监听。onMemoryWarning()注册小程序内存不足告警监听。onLoad()注册页面加载并接收路由 query。onReady()注册页面或组件首次渲染完成生命周期。onUnload()注册页面卸载生命周期并清理资源。onPullDownRefresh()注册页面下拉刷新回调。onReachBottom()注册页面滚动到底部回调。onPageScroll()注册页面滚动位置变化回调。onRouteDone()注册页面路由动画完成回调。onTabItemTap()注册当前 tabBar 项点击回调。onResize()注册页面或组件尺寸变化回调。onShareAppMessage()声明页面转发给好友的内容。onShareTimeline()声明页面分享到朋友圈的内容。onAddToFavorites()声明页面加入收藏时的内容。onSaveExitState()声明页面退出时保存的状态。onAttached()注册组件进入页面节点树生命周期。onDetached()注册组件离开页面节点树生命周期。onMoved()注册组件在节点树中移动生命周期。onBeforeMount()注册页面或组件挂载前回调。onMounted()注册页面或组件挂载完成回调。onBeforeUpdate()注册响应式数据更新前回调。onUpdated()注册响应式数据更新完成回调。onBeforeUnmount()注册页面或组件卸载前回调。onUnmounted()注册页面或组件卸载完成回调。onActivated()注册缓存实例重新激活回调。onDeactivated()注册缓存实例停用回调。onErrorCaptured()捕获后代组件运行时错误。onServerPrefetch()保留 Vue 同名接口,小程序运行时不执行 SSR。
Setup 与宿主能力
35getCurrentInstance()读取当前 Wevu 页面或组件运行时实例。getCurrentSetupContext()读取当前同步 setup 上下文。provide()向后代页面或组件提供依赖值。inject()读取上层 provide 提供的依赖值。provideGlobal()向全局依赖容器提供值。injectGlobal()从全局依赖容器读取值。useNativeInstance()获取当前小程序原生页面或组件实例。useNativeRouter()获取当前组件路径语义的原生 Router。useNativePageRouter()获取当前页面路径语义的原生 Router。useBindModel()连接组件属性与 bind 事件的双向绑定。useChangeModel()连接组件属性与 change 事件的双向绑定。useIntersectionObserver()创建随实例卸载自动清理的相交观察器。useElementIntersectionObserver()观察指定元素进入或离开可视区域。useSelectorQuery()创建绑定当前实例的节点查询对象。useBoundingClientRect()查询元素的尺寸和视口位置。useSelectorFields()按字段读取节点属性、样式或上下文。useScrollOffset()读取滚动容器或页面的滚动位置。useDisposables()集中登记并在卸载时执行清理函数。usePageLayout()读取当前页面布局名称和布局参数。setPageLayout()在运行时切换当前页面布局。usePageStack()读取并跟踪当前小程序页面栈。getCurrentPageStackSnapshot()立即获取当前页面栈快照。useNavigationBarMetrics()响应式读取导航栏高度和安全区指标。getNavigationBarMetrics()立即获取导航栏和胶囊按钮尺寸。usePageScrollThrottle()以节流方式处理高频页面滚动回调。useUpdatePerformanceListener()监听小程序渲染更新性能数据。useAsyncPullDownRefresh()运行异步下拉刷新并自动结束刷新状态。use()为 Wevu 应用安装具有 install 方法的插件。mergeModels()合并多个 model 绑定对象。useModel()创建组件 prop 与更新事件之间的 Model Ref。useAttrs()读取未声明为 props 的透传属性。useSlots()读取当前组件的插槽代理。useTemplateRef()按名称读取模板节点或组件引用。normalizeClass()把数组、对象或字符串 class 规范化为字符串。normalizeStyle()把对象、数组或字符串 style 规范化为字符串。
Options API
18props声明页面或组件接收的 Vue 风格属性。emits声明组件允许触发的事件。data返回页面或组件的初始响应式数据。setup在创建实例时组合状态、方法和生命周期。computed声明基于实例状态的缓存派生属性。methods声明页面或组件可调用的方法。watch声明按字段或路径监听状态变化的回调。properties声明小程序原生组件 properties。behaviors组合小程序原生 behavior 能力。lifetimes声明小程序组件自身生命周期。pageLifetimes声明组件所在页面的生命周期回调。externalClasses声明允许外部传入的样式类名。options配置小程序组件的原生行为选项。observers声明小程序属性和数据字段观察器。relations声明组件之间的节点关系。features启用 Wevu 可选运行时特性。setData直接调用小程序 setData 更新视图数据。setupLifecycle控制 setup 与小程序生命周期的衔接方式。
模板指令
13v-text编译为小程序文本插值,结果与常见 Vue 用法一致。v-show编译为 display 样式切换,不销毁小程序节点。v-if编译为宿主条件渲染指令。v-else-if编译为宿主条件分支指令。v-else编译为宿主兜底条件分支。v-for编译为宿主列表指令并规范化 key 与索引。v-on映射为小程序事件,事件名和修饰符受宿主限制。v-bind支持显式属性绑定,不支持 v-bind 对象展开。v-model转换为小程序属性与赋值事件,支持范围受控。v-slot转换为小程序 slot/generic,具名转发存在宿主边界。v-once当前会按普通元素渲染并产生编译警告。v-cloak编译时忽略该标记,不提供浏览器闪烁治理语义。v-custom自定义指令按小程序属性形式输出,不执行 DOM 钩子。
特殊元素与内置组件
8HTML 标签转换
42<a><navigator>默认编译为小程序 <navigator> 标签。<article><view>默认编译为小程序 <view> 标签。<aside><view>默认编译为小程序 <view> 标签。<b><text>默认编译为小程序 <text> 标签。<blockquote><view>默认编译为小程序 <view> 标签。<br><view>默认编译为小程序 <view> 标签。<button>保留为小程序内置 <button> 标签。<code><text>默认编译为小程序 <text> 标签。<dd><view>默认编译为小程序 <view> 标签。<div><view>默认编译为小程序 <view> 标签。<dl><view>默认编译为小程序 <view> 标签。<dt><view>默认编译为小程序 <view> 标签。<em><text>默认编译为小程序 <text> 标签。<figcaption><view>默认编译为小程序 <view> 标签。<figure><view>默认编译为小程序 <view> 标签。<footer><view>默认编译为小程序 <view> 标签。<form>保留为小程序内置 <form> 标签。<h1><view>默认编译为小程序 <view> 标签。<h2><view>默认编译为小程序 <view> 标签。<h3><view>默认编译为小程序 <view> 标签。<h4><view>默认编译为小程序 <view> 标签。<h5><view>默认编译为小程序 <view> 标签。<h6><view>默认编译为小程序 <view> 标签。<header><view>默认编译为小程序 <view> 标签。<hr><view>默认编译为小程序 <view> 标签。<i><text>默认编译为小程序 <text> 标签。<img><image>默认编译为小程序 <image> 标签。<input>保留为小程序内置 <input> 标签。<label>保留为小程序内置 <label> 标签。<li><view>默认编译为小程序 <view> 标签。<main><view>默认编译为小程序 <view> 标签。<nav><view>默认编译为小程序 <view> 标签。<ol><view>默认编译为小程序 <view> 标签。<p><view>默认编译为小程序 <view> 标签。<pre><view>默认编译为小程序 <view> 标签。<section><view>默认编译为小程序 <view> 标签。<small><text>默认编译为小程序 <text> 标签。<span><text>默认编译为小程序 <text> 标签。<strong><text>默认编译为小程序 <text> 标签。<textarea>保留为小程序内置 <textarea> 标签。<u><text>默认编译为小程序 <text> 标签。<ul><view>默认编译为小程序 <view> 标签。
TypeScript 类型
9PropType<T>声明运行时 props 构造器对应的 TypeScript 类型。MaybeRef<T>表示普通值、Ref 或可写计算值。MaybeRefOrGetter<T>表示普通值、响应式值或 getter。ExtractPropTypes<T>从 Wevu props 选项推导内部属性类型。ExtractPublicPropTypes<T>从 Wevu props 选项推导公开属性类型。ComponentCustomProps沿用 Vue 的组件自定义 props 扩展类型。RuntimeApp描述 Wevu 应用实例及其公开方法。AppConfig描述 Wevu 应用级配置与 globalProperties。WevuPlugin描述函数式或对象式 Wevu 插件。