---
title: Vue-SDK
---
# Vue-SDK
Offizielle Vue 3-Komponente für CaptchaLa CAPTCHA — veröffentlicht als [`@captcha-la/vue`](https://www.npmjs.com/package/@captcha-la/vue).
## Live-Demo
::: tip 📦
[demo-v1.captcha.la/vue](https://demo-v1.captcha.la/vue/) — lauffähige Demo mit allen vier Produkt-Modi.
Quellcode: [Captcha-La/vue-example](https://github.com/Captcha-La/vue-example).
:::
## Installation
```bash
npm install @captcha-la/vue
# or
yarn add @captcha-la/vue
# or
pnpm add @captcha-la/vue
```
Peer-Abhängigkeit: `vue@^3.2.0`.
## Schnellstart
```vue
```
## Props
| Prop | Typ | Standard | Beschreibung |
|------|------|---------|-------------|
| `appKey` | `string` | *erforderlich* | CaptchaLa Application Key |
| `serverToken` | `string` | - | Einmal-Challenge-Token, der vom Server ausgestellt wird. Erforderlich, wenn für die Anwendung `server_token_required=true` gesetzt ist. |
| `product` | `'popup' \| 'float' \| 'embed' \| 'bind'` | `'popup'` | Anzeigemodus |
| `action` | `string` | `'default'` | Action-Bezeichner (z. B. `login`, `register`, `checkout`) |
| `lang` | `string` | `'zh-CN'` | Sprachcode (`zh-CN`, `en`, `ja`, …) |
| `bindTo` | `string \| HTMLElement` | - | Element-Selektor oder -Knoten, an den gebunden wird (nur für `product="bind"`) |
## Events
| Event | Payload | Beschreibung |
|-------|---------|-------------|
| `success` | `{ token, type, action }` | Verifizierung erfolgreich |
| `error` | `error` | Verifizierung fehlgeschlagen |
| `close` | — | CAPTCHA geschlossen |
| `ready` | — | CAPTCHA bereit |
## Methoden (via `ref`)
```vue
```
| Methode | Beschreibung |
|--------|-------------|
| `verify()` | Verifizierung auslösen |
| `reset()` | CAPTCHA-Status zurücksetzen |
| `destroy()` | Instanz zerstören |
| `bindTo(selector)` | An Element binden (für `bind`-Modus) |
| `setLang(lang)` | Sprache zur Laufzeit wechseln |
## Produktion: `serverToken`-Modus
Für hochwertige Flows (Anmeldung, Registrierung, Bezahlung) empfehlen wir den **servergenerierten
Token-Flow**. Ihr Backend stellt einen Einmal-`server_token` (TTL 5 Minuten) über
`POST /v1/server/challenge/issue` aus und übergibt ihn an den Browser:
```vue
```
Siehe [API-Referenz](/de/api-reference) für den vollständigen Backend-Vertrag.
## Links
- [npm](https://www.npmjs.com/package/@captcha-la/vue) · [GitHub](https://github.com/Captcha-La/vue) · [Beispiel](https://github.com/Captcha-La/vue-example)
- [Web-SDK-Übersicht](/de/web-sdk) · [API-Referenz](/de/api-reference)