create-adaptable-composable by andremury/vuejs-agent-skills
npx skills add https://github.com/andremury/vuejs-agent-skills --skill create-adaptable-composable可适配的组合式函数是可重用的函数,能够同时接受响应式和非响应式输入。这使得开发者可以在各种上下文中使用该组合式函数,而无需担心输入的响应性。
在 Vue.js 中设计可适配组合式函数的步骤:
toValue() 或 toRef() 来规范化输入。/**
* 值或可写 ref(值/ref/shallowRef/可写计算属性)
*/
export type MaybeRef<T = any> = T | Ref<T> | ShallowRef<T> | WritableComputedRef<T>;
/**
* MaybeRef<T> + ComputedRef<T> + () => T
*/
export type MaybeRefOrGetter<T = any> = MaybeRef<T> | ComputedRef<T> | (() => T);
MaybeRefOrGetterMaybeRef广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
MaybeRefOrGetter,否则可能会意外地将其作为 getter 调用。MaybeRefOrGetter。当使用 MaybeRefOrGetter 或 MaybeRef 时:
toRef() 解析响应式值(例如,侦听器源)toValue() 解析非响应式值可适配的 useDocumentTitle 组合式函数:只读的 title 参数
import { watch, toRef } from 'vue'
import type { MaybeRefOrGetter } from 'vue'
export function useDocumentTitle(title: MaybeRefOrGetter<string>) {
watch(toRef(title), (t) => {
document.title = t
}, { immediate: true })
}
可适配的 useCounter 组合式函数:双向可写的 count 参数
import { watch, toRef } from 'vue'
import type { MaybeRef } from 'vue'
function useCounter(count: MaybeRef<number>) {
const countRef = toRef(count)
function add() {
countRef.value++
}
return { add }
}
每周安装量
1
代码仓库
首次出现
1 天前
安全审计
安装于
amp1
cline1
opencode1
cursor1
kimi-cli1
codex1
Adaptable composables are reusable functions that can accept both reactive and non-reactive inputs. This allows developers to use the composable in a variety of contexts without worrying about the reactivity of the inputs.
Steps to design an adaptable composable in Vue.js:
toValue() or toRef() to normalize inputs inside reactive effects./**
* value or writable ref (value/ref/shallowRef/writable computed)
*/
export type MaybeRef<T = any> = T | Ref<T> | ShallowRef<T> | WritableComputedRef<T>;
/**
* MaybeRef<T> + ComputedRef<T> + () => T
*/
export type MaybeRefOrGetter<T = any> = MaybeRef<T> | ComputedRef<T> | (() => T);
MaybeRefOrGetterMaybeRefMaybeRefOrGetter, or you may accidentally invoke it as a getter.MaybeRefOrGetter.When MaybeRefOrGetter or MaybeRef is used:
toRef() (e.g. watcher source)toValue()Adaptable useDocumentTitle Composable: read-only title parameter
import { watch, toRef } from 'vue'
import type { MaybeRefOrGetter } from 'vue'
export function useDocumentTitle(title: MaybeRefOrGetter<string>) {
watch(toRef(title), (t) => {
document.title = t
}, { immediate: true })
}
Adaptable useCounter Composable: two-way writable count parameter
import { watch, toRef } from 'vue'
import type { MaybeRef } from 'vue'
function useCounter(count: MaybeRef<number>) {
const countRef = toRef(count)
function add() {
countRef.value++
}
return { add }
}
Weekly Installs
1
Repository
First Seen
1 day ago
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
amp1
cline1
opencode1
cursor1
kimi-cli1
codex1
Flutter应用架构设计指南:分层结构、数据层实现与最佳实践
4,000 周安装