Pulled ALL skills from 15 source repositories: - anthropics/skills: 16 (docs, design, MCP, testing) - obra/superpowers: 14 (TDD, debugging, agents, planning) - coreyhaines31/marketingskills: 25 (marketing, CRO, SEO, growth) - better-auth/skills: 5 (auth patterns) - vercel-labs/agent-skills: 5 (React, design, Vercel) - antfu/skills: 16 (Vue, Vite, Vitest, pnpm, Turborepo) - Plus 13 individual skills from various repos Mosaic Stack is not limited to coding — the Orchestrator and subagents serve coding, business, design, marketing, writing, logistics, analysis, and more. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
87 lines
1.6 KiB
Markdown
87 lines
1.6 KiB
Markdown
---
|
|
category: Component
|
|
---
|
|
|
|
::: info
|
|
This function will be removed in future version.
|
|
|
|
Vue 3.5 introduced the `useTemplateRef` API which can effectively replace the functionality of `templateRef`, therefore we recommend using the native approach.
|
|
:::
|
|
|
|
# templateRef
|
|
|
|
Shorthand for binding ref to template element.
|
|
|
|
## Usage
|
|
|
|
<!-- eslint-skip -->
|
|
|
|
```vue
|
|
<script lang="ts">
|
|
import { templateRef } from '@vueuse/core'
|
|
|
|
export default {
|
|
setup() {
|
|
const target = templateRef('target')
|
|
|
|
// no need to return the `target`, it will bind to the ref magically
|
|
},
|
|
}
|
|
</script>
|
|
|
|
<template>
|
|
<div ref="target" />
|
|
</template>
|
|
```
|
|
|
|
### With JSX/TSX
|
|
|
|
```tsx
|
|
import { templateRef } from '@vueuse/core'
|
|
|
|
export default {
|
|
setup() {
|
|
const target = templateRef<HTMLElement | null>('target', null)
|
|
|
|
// use string ref
|
|
return () => <div ref="target"></div>
|
|
},
|
|
}
|
|
```
|
|
|
|
### `<script setup>`
|
|
|
|
There is no need for this when using with `<script setup>` since all the variables will be exposed to the template. It will be exactly the same as `ref`.
|
|
|
|
```vue
|
|
<script setup lang="ts">
|
|
import { ref } from 'vue'
|
|
|
|
const target = ref<HTMLElement | null>(null)
|
|
</script>
|
|
|
|
<template>
|
|
<div ref="target" />
|
|
</template>
|
|
```
|
|
|
|
## Type Declarations
|
|
|
|
```ts
|
|
/**
|
|
* @deprecated Use Vue's built-in `useTemplateRef` instead.
|
|
*
|
|
* Shorthand for binding ref to template element.
|
|
*
|
|
* @see https://vueuse.org/templateRef
|
|
* @param key
|
|
* @param initialValue
|
|
*
|
|
* @__NO_SIDE_EFFECTS__
|
|
*/
|
|
export declare function templateRef<
|
|
T extends HTMLElement | SVGElement | Component | null,
|
|
Keys extends string = string,
|
|
>(key: Keys, initialValue?: T | null): Readonly<Ref<T>>
|
|
```
|