{
  "version": 1.1,
  "tags": [
    {
      "name": "Transition",
      "description": {
        "kind": "markdown",
        "value": "\nPoskytuje animované přechodové (transition) efekty pro **jeden** element nebo **jednu** komponentu.\n\n- **Props**\n\n  ```ts\n  interface TransitionProps {\n    /**\n     * Slouží k automatickému generování názvů CSS tříd pro přechody.\n     * Např. `name: 'fade'` se automaticky rozšíří na `.fade-enter`,\n     * `.fade-enter-active` atd.\n     */\n    name?: string\n    /**\n     * Určuje, zda se mají CSS třídy přechodů použít.\n     * Výchozí hodnota: true\n     */\n    css?: boolean\n    /**\n     * Určuje typ událostí přechodů, na které se má čekat\n     * pro určení času ukončení přechodu.\n     * Výchozí chování je automatické detekování typu s delší dobou trvání.\n     */\n    type?: 'transition' | 'animation'\n    /**\n     * Určuje explicitní doby trvání přechodu.\n     * Výchozí chování je čekání na první událost `transitionend`\n     * nebo `animationend` na root elementu přechodu.\n     */\n    duration?: number | { enter: number; leave: number }\n    /**\n     * Ovládá časovou posloupnost přechodů při vstupu/výstupu.\n     * Výchozí chování je současné provedení.\n     */\n    mode?: 'in-out' | 'out-in' | 'default'\n    /**\n     * Určuje, zda se má přechod aplikovat při počátečním vykreslení.\n     * Výchozí hodnota: false\n     */\n    appear?: boolean\n\n    /**\n     * Vlastnosti pro přizpůsobení tříd přechodů.\n     * V šablonách použijte kebab-case zápis, např. enter-from-class=\"xxx\"\n     */\n    enterFromClass?: string\n    enterActiveClass?: string\n    enterToClass?: string\n    appearFromClass?: string\n    appearActiveClass?: string\n    appearToClass?: string\n    leaveFromClass?: string\n    leaveActiveClass?: string\n    leaveToClass?: string\n  }\n  ```\n\n- **Události**\n\n  - `@before-enter`\n  - `@before-leave`\n  - `@enter`\n  - `@leave`\n  - `@appear`\n  - `@after-enter`\n  - `@after-leave`\n  - `@after-appear`\n  - `@enter-cancelled`\n  - `@leave-cancelled` (pouze pro `v-show`)\n  - `@appear-cancelled`\n\n- **Příklad**\n\n  Jednoduchý element:\n\n  ```html\n  <Transition>\n    <div v-if=\"ok\">přepnutý obsah</div>\n  </Transition>\n  ```\n\n  Vynucení přechodu změnou atributu `key`:\n\n  ```html\n  <Transition>\n    <div :key=\"text\">{{ text }}</div>\n  </Transition>\n  ```\n\n  Dynamická komponenta s režimem přechodu + animace při zobrazení:\n\n  ```html\n  <Transition name=\"fade\" mode=\"out-in\" appear>\n    <component :is=\"view\"></component>\n  </Transition>\n  ```\n\n  Naslouchání událostem přechodu:\n\n  ```html\n  <Transition @after-enter=\"onTransitionComplete\">\n    <div v-show=\"ok\">přepnutý obsah</div>\n  </Transition>\n  ```\n\n- **Viz také:** [Průvodce – Transition](https://cs.vuejs.org/guide/built-ins/transition.html)\n"
      },
      "attributes": [],
      "references": "api/built-in-components.html#transition"
    },
    {
      "name": "TransitionGroup",
      "description": {
        "kind": "markdown",
        "value": "\nPoskytuje přechodové efekty pro **více** elementů nebo komponent v seznamu.\n\n- **Props**\n\n  `<TransitionGroup>` přijímá stejné props jako `<Transition>` s výjimkou `mode`, plus dvě další vlastnosti:\n\n  ```ts\n  interface TransitionGroupProps extends Omit<TransitionProps, 'mode'> {\n    /**\n     * Pokud není definováno, vykresluje se jako fragment.\n     */\n    tag?: string\n    /**\n     * Pro přizpůsobení CSS třídy použité během přechodových animací.\n     * V šablonách použijte kebab-case zápis, např. move-class=\"xxx\"\n     */\n    moveClass?: string\n  }\n  ```\n\n- **Události**\n\n  `<TransitionGroup>` emituje stejné události jako `<Transition>`.\n\n- **Podrobnosti**\n\n  Ve výchozím nastavení `<TransitionGroup>` nevykresluje obalový DOM element, ale lze jej definovat pomocí vlastnosti `tag`.\n\n  Pamatujte, že každý potomek v `<transition-group>` musí být [**jednoznačně označen**](https://cs.vuejs.org/guide/essentials/list.html#maintaining-state-with-key), aby animace fungovaly správně.\n\n  `<TransitionGroup>` podporuje pohyblivé přechody pomocí CSS transformace. Pokud se pozice potomka na obrazovce po aktualizaci změní, bude mu aplikována pohybová CSS třída (automaticky generovaná z atributu `name` nebo konfigurovaná pomocí vlastnosti `move-class`). Pokud je CSS vlastnost `transform` při aplikaci pohybové třídy „transition-able“, element bude na své cílové místo plynule animován pomocí [techniky FLIP](https://aerotwist.com/blog/flip-your-animations/).\n\n- **Příklad**\n\n  ```html\n  <TransitionGroup tag=\"ul\" name=\"slide\">\n    <li v-for=\"item in items\" :key=\"item.id\">\n      {{ item.text }}\n    </li>\n  </TransitionGroup>\n  ```\n\n- **Viz také:** [Průvodce – TransitionGroup](https://cs.vuejs.org/guide/built-ins/transition-group.html)\n"
      },
      "attributes": [],
      "references": "api/built-in-components.html#transitiongroup"
    },
    {
      "name": "KeepAlive",
      "description": {
        "kind": "markdown",
        "value": "\nUkládá stav dynamicky přepínatelných komponent obalených uvnitř do cache.\n\n- **Props**\n\n  ```ts\n  interface KeepAliveProps {\n    /**\n     * Pokud je specifikováno, budou do cache ukládány pouze komponenty\n     * s názvy odpovídajícími `include`.\n     */\n    include?: MatchPattern\n    /**\n     * Jakákoli komponenta s názvem odpovídajícím `exclude` nebude \n     * ukládána do cache.\n     */\n    exclude?: MatchPattern\n    /**\n     * Maximální počet instancí komponenty, které se mají ukládat do cache.\n     */\n    max?: number | string\n  }\n\n  type MatchPattern = string | RegExp | (string | RegExp)[]\n  ```\n\n- **Podrobnosti**\n\n  Když obaluje dynamickou komponentu, `<KeepAlive>` ukládá neaktivní instance komponent, aniž by je ničila.\n\n  V `<KeepAlive>` může být v každém okamžiku pouze jedna aktivní instance komponenty jako přímý potomek.\n\n  Když je komponenta uvnitř `<KeepAlive>` přepnuta, budou se volat odpovídající lifecycle hooky `activated` a `deactivated` poskytující alternativu k `mounted` a&nbsp;`unmounted`, které volány nejsou. To platí jak pro přímého potomka `<KeepAlive>`, tak&nbsp;pro všechny jeho potomky.\n\n- **Příklad**\n\n  Základní použití:\n\n  ```html\n  <KeepAlive>\n    <component :is=\"view\"></component>\n  </KeepAlive>\n  ```\n\n  Při použití s větvemi `v-if` / `v-else` musí být vždy zobrazena pouze jedna komponenta:\n\n  ```html\n  <KeepAlive>\n    <comp-a v-if=\"a > 1\"></comp-a>\n    <comp-b v-else></comp-b>\n  </KeepAlive>\n  ```\n\n  Použití společně s `<Transition>`:\n\n  ```html\n  <Transition>\n    <KeepAlive>\n      <component :is=\"view\"></component>\n    </KeepAlive>\n  </Transition>\n  ```\n\n  Použití `include` / `exclude`:\n\n  ```html\n  <!-- čárkami oddělený řetězec -->\n  <KeepAlive include=\"a,b\">\n    <component :is=\"view\"></component>\n  </KeepAlive>\n\n  <!-- regex (použijte `v-bind`) -->\n  <KeepAlive :include=\"/a|b/\">\n    <component :is=\"view\"></component>\n  </KeepAlive>\n\n  <!-- Pole (použijte `v-bind`) -->\n  <KeepAlive :include=\"['a', 'b']\">\n    <component :is=\"view\"></component>\n  </KeepAlive>\n  ```\n\n  Použití s `max`:\n\n  ```html\n  <KeepAlive :max=\"10\">\n    <component :is=\"view\"></component>\n  </KeepAlive>\n  ```\n\n- **Viz také:** [Průvodce – KeepAlive](https://cs.vuejs.org/guide/built-ins/keep-alive.html)\n"
      },
      "attributes": [],
      "references": "api/built-in-components.html#keepalive"
    },
    {
      "name": "Teleport",
      "description": {
        "kind": "markdown",
        "value": "\nVykresluje obsah svého slotu na jiné části DOM.\n\n- **Props**\n\n  ```ts\n  interface TeleportProps {\n    /**\n     * Povinné. Určuje cílový kontejner.\n     * Může být buď selektor nebo samotný element.\n     */\n    to: string | HTMLElement\n    /**\n     * Když je `true`, obsah zůstane na svém původním\n     * místě místo přesunu do cílového kontejneru.\n     * Lze měnit dynamicky.\n     */\n    disabled?: boolean    \n    /**\n     * Když je `true`, Teleport bude před vyhodnocením\n     * svého cíle odložen (defer), dokud nebudou \n     * připojeny (mounted) další části aplikace (Vue 3.5+)\n     */\n    defer?: boolean\n  }\n  ```\n\n- **Příklad**\n\n  Určení cílového kontejneru:\n\n  ```html\n  <Teleport to=\"#some-id\" />\n  <Teleport to=\".some-class\" />\n  <Teleport to=\"[data-teleport]\" />\n  ```\n\n  Podmíněné vypnutí:\n\n  ```html\n  <Teleport to=\"#popup\" :disabled=\"displayVideoInline\">\n    <video src=\"./my-movie.mp4\">\n  </Teleport>\n  ```\n\n  Odložení vyhodnocení cíle<sup class=\"vt-badge\" data-text=\"3.5+\" />:\n\n  ```html\n  <Teleport defer to=\"#late-div\">...</Teleport>\n  <!-- někdy později v šabloně -->\n  <div id=\"late-div\"></div>\n  ```\n\n- **Viz také:** [Průvodce – Teleport](https://cs.vuejs.org/guide/built-ins/teleport.html)\n"
      },
      "attributes": [],
      "references": "api/built-in-components.html#teleport"
    },
    {
      "name": "Suspense",
      "description": {
        "kind": "markdown",
        "value": "\nPoužívá se pro orchestraci vnořených asynchronních závislostí ve stromu komponent.\n\n- **Props**\n\n  ```ts\n  interface SuspenseProps {\n    timeout?: string | number\n    suspensible?: boolean\n  }\n  ```\n\n- **Události**\n\n  - `@resolve`\n  - `@pending`\n  - `@fallback`\n\n- **Podrobnosti**\n\n  `<Suspense>` přijímá dva sloty: `#default` a `#fallback`. Zobrazí obsah fallback slotu, zatímco v paměti vykresluje default slot.\n\n  Pokud narazí na asynchronní závislosti ([Asynchronní komponenty](https://cs.vuejs.org/guide/components/async.html) a komponenty s&nbsp;[`async setup()`](https://cs.vuejs.org/guide/built-ins/suspense.html#async-setup)) při vykreslování default slotu, počká, dokud nebudou všechny vyřešeny, než ho zobrazí.\n\n  Nastavením komponenty Suspense na `suspensible` budou všechny asynchronní závislosti obsluhovány nadřazenou Suspense. Podívejte se na [detaily implementace](https://github.com/vuejs/core/pull/6736).\n\n- **Viz také:** [Průvodce – Suspense](https://cs.vuejs.org/guide/built-ins/suspense.html)\n"
      },
      "attributes": [],
      "references": "api/built-in-components.html#suspense"
    },
    {
      "name": "component",
      "description": {
        "kind": "markdown",
        "value": "\n„Meta komponenta“ pro vykreslování dynamických komponent nebo elementů.\n\n- **Props**\n\n  ```ts\n  interface DynamicComponentProps {\n    is: string | Component\n  }\n  ```\n\n- **Podrobnosti**\n\n  Skutečná komponenta k vykreslení je určena vlastností `is`.\n\n  - Když je `is` řetězec, může to být buď název HTML tagu nebo zaregistrovaný název komponenty.\n\n  - Alternativně může být `is` vázán přímo na definici komponenty.\n\n- **Příklad**\n\n  Vykreslování komponent podle zaregistrovaného názvu (Options API):\n\n  ```vue\n  <script>\n  import Foo from './Foo.vue'\n  import Bar from './Bar.vue'\n\n  export default {\n    components: { Foo, Bar },\n    data() {\n      return {\n        view: 'Foo'\n      }\n    }\n  }\n  </script>\n\n  <template>\n    <component :is=\"view\" />\n  </template>\n  ```\n\n  Vykreslování komponent podle definice (Composition API se `<script setup>`):\n\n  ```vue\n  <script setup>\n  import Foo from './Foo.vue'\n  import Bar from './Bar.vue'\n  </script>\n\n  <template>\n    <component :is=\"Math.random() > 0.5 ? Foo : Bar\" />\n  </template>\n  ```\n\n  Vykreslování HTML elementů:\n\n  ```html\n  <component :is=\"href ? 'a' : 'span'\"></component>\n  ```\n\n  Do `is` lze předat všechny [vestavěné komponenty](./built-in-components), ale musíte je zaregistrovat, pokud je chcete předávat jménem. Například:\n\n  ```vue\n  <script>\n  import { Transition, TransitionGroup } from 'vue'\n\n  export default {\n    components: {\n      Transition,\n      TransitionGroup\n    }\n  }\n  </script>\n\n  <template>\n    <component :is=\"isGroup ? 'TransitionGroup' : 'Transition'\">\n      ...\n    </component>\n  </template>\n  ```\n\n  Registrace není vyžadována, pokud do `is` místo jejího názvu předáte samotnou komponentu, např. ve `<script setup>`.\n\n  Pokud je na tagu `<component>` použit `v-model`, kompilátor šablony jej transformuje na vlastnost (prop) `modelValue` a event listener `update:modelValue`, podobně jako by to udělal pro jakoukoli jinou komponentu. Není to však kompatibilní s nativními HTML elementy, jako jsou `<input>` nebo `<select>`. Kvůli tomu nebude použití `v-model` s&nbsp;dynamicky vytvořeným nativním elementem  fungovat:\n\n  ```vue\n  <script setup>\n  import { ref } from 'vue'\n\n  const tag = ref('input')\n  const username = ref('')\n  </script>\n\n  <template>\n    <!-- Toto nebude fungovat, protože 'input' je nativní HTML element -->\n    <component :is=\"tag\" v-model=\"username\" />\n  </template>\n  ```\n\n  V praxi se tento okrajový případ běžně nevyskytuje, protože nativní formulářová pole jsou ve skutečných aplikacích obvykle obalena komponentami. Pokud však skutečně potřebujete použít nativní element přímo, můžete `v-model` ručně rozdělit na atribut a&nbsp;událost.\n\n- **Viz také:** [Dynamické komponenty](https://cs.vuejs.org/guide/essentials/component-basics.html#dynamic-components)\n"
      },
      "attributes": [],
      "references": "api/built-in-special-elements.html#component"
    },
    {
      "name": "slot",
      "description": {
        "kind": "markdown",
        "value": "\nUrčuje prostor pro vložený obsah uvnitř šablon.\n\n- **Props** \n\n  ```ts\n  interface SlotProps {\n    /**\n     * Jakékoli vlastnosti předané do <slot> budou předány jako parametry\n     * pro scoped sloty\n     */\n    [key: string]: any\n    /**\n     * Rezervováno pro specifikaci jména slotu.\n     */\n    name?: string\n  }\n  ```\n\n- **Podrobnosti**\n\n  Element `<slot>` může použít atribut `name` k určení jména slotu. Pokud není specifikováno žádné jméno, bude vykreslen výchozí (default) slot. Další atributy předané do elementu slotu budou předány jako vlastnosti (props) scoped slotu definovaného v rodičovské komponentě.\n\n  Samotný element bude nahrazen obsahem odpovídajícího slotu.\n\n  `<slot>` elementy ve Vue šablonách jsou kompilovány do JavaScriptu, aby nedocházelo k jejich záměně s [nativními `<slot>` elementy](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/slot).\n\n- **Viz také:** [Průvodce – Sloty](https://cs.vuejs.org/guide/components/slots.html)\n"
      },
      "attributes": [],
      "references": "api/built-in-special-elements.html#slot"
    },
    {
      "name": "template",
      "description": {
        "kind": "markdown",
        "value": "\nTag `<template>` se používá jako placeholder, když chceme použít vestavěnou direktivu, aniž bychom vykreslovali element v DOM.\n\n- **Podrobnosti**\n\n  Speciální obsluha je pro `<template>` spuštěna pouze tehdy, pokud je tag použit spolu s jednou z těchto direktiv:\n\n  - `v-if`, `v-else-if` nebo `v-else`\n  - `v-for`\n  - `v-slot`\n\n  Pokud žádná z těchto direktiv přítomna není, bude vykreslen jako [nativní `<template>` element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/template).\n\n  `<template>` s `v-for` může mít také atribut [`key`](https://cs.vuejs.org/api/built-in-special-attributes.html#key). Všechny ostatní atributy a direktivy budou ignorovány, protože nemají bez odpovídajícího prvku význam.\n\n  Single-file komponenty (SFC) používají [tag `<template>` nejvyšší úrovně](https://cs.vuejs.org/api/sfc-spec.html#language-blocks) k obalení celé šablony. Tento způsob použití je oddělen od použití `<template>` popsaného výše. Tento tag nejvyšší úrovně není součástí samotné šablony a nepodporuje syntaxi šablony, jako jsou direktivy.\n\n- **Viz také:**\n  - [Průvodce – `v-if` na `<template>`](https://cs.vuejs.org/guide/essentials/conditional.html#v-if-on-template)\n  - [Průvodce – `v-for` nad `<template>`](https://cs.vuejs.org/guide/essentials/list.html#v-for-on-template)\n  - [Průvodce – Pojmenované sloty](https://cs.vuejs.org/guide/components/slots.html#named-slots)\n"
      },
      "attributes": [],
      "references": "api/built-in-special-elements.html#template"
    }
  ],
  "globalAttributes": [
    {
      "name": "v-text",
      "description": {
        "kind": "markdown",
        "value": "Aktualizuje textový obsah elementu.\n\n- **Očekává:** `string`\n\n- **Podrobnosti**\n\n  `v-text` funguje tak, že elementu nastavuje vlastnost [textContent](https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent), což přepíše jakýkoli existující obsah uvnitř elementu. Pokud potřebujete aktualizovat jen část `textContent`, měli byste místo toho použít [„mustache“ interpolaci](https://cs.vuejs.org/guide/essentials/template-syntax.html#text-interpolation) (např. tímto způsobem: <span v-pre>`<span>Toto zachovat a aktualizovat pouze {{dynamickaCast}}</span>`</span>).\n\n- **Příklad**\n\n  ```html\n  <span v-text=\"msg\"></span>\n  <!-- stejné jako -->\n  <span>{{msg}}</span>\n  ```\n\n- **Viz také:** [Syntaxe šablon – Interpolace textu](https://cs.vuejs.org/guide/essentials/template-syntax.html#text-interpolation)"
      },
      "references": "api/built-in-directives.html#v-text"
    },
    {
      "name": "v-html",
      "description": {
        "kind": "markdown",
        "value": "Aktualizuje [innerHTML](https://developer.mozilla.org/en-US/docs/Web/API/Element/innerHTML) elementu.\n\n- **Očekává:** `string`\n\n- **Podrobnosti**\n\n  Obsah `v-html` je vložen jako prosté HTML a syntaxe Vue šablony nebude zpracována. Pokud se snažíte sestavit šablony pomocí `v-html`, zkuste raději řešení přehodnotit a použít komponenty.\n\n  ::: warning Bezpečnostní poznámka\n  Dynamické vykreslování libovolného HTML na vašem webu může být velmi nebezpečné, protože může snadno vést k [XSS útokům](https://en.wikipedia.org/wiki/Cross-site_scripting). Používejte `v-html` pouze na důvěryhodný obsah a **nikdy** na obsah poskytovaný uživatelem.\n  :::\n\n  V [Single-file komponentách (SFC)](https://cs.vuejs.org/guide/scaling-up/sfc.html) se `scoped` styly na obsah uvnitř `v-html` nebudou aplikovat, protože toto HTML není zpracováváno kompilátorem Vue šablony. Pokud chcete cílit na obsah `v-html` pomocí scoped CSS, můžete místo toho použít [CSS moduly](./sfc-css-features#css-modules) nebo další, globální `<style>` element s manuální strategií omezování rozsahu, jako je BEM.\n\n- **Příklad**\n\n  ```html\n  <div v-html=\"html\"></div>\n  ```\n\n- **Viz také:** [Syntaxe šablon – HTML kód](https://cs.vuejs.org/guide/essentials/template-syntax.html#raw-html)"
      },
      "references": "api/built-in-directives.html#v-html"
    },
    {
      "name": "v-show",
      "description": {
        "kind": "markdown",
        "value": "Přepíná viditelnost elementu na základě pravdivostní hodnoty výrazu.\n\n- **Očekává:** `any`\n\n- **Podrobnosti**\n\n  `v-show` funguje tak, že nastavuje vlastnost `display` v CSS pomocí inline stylů a snaží se respektovat původní hodnotu `display`, když je prvek viditelný. Také spouští přechody, když se změní jeho podmínka.\n\n- **Viz také:** [Podmíněné vykreslování - v-show](https://cs.vuejs.org/guide/essentials/conditional.html#v-show)"
      },
      "references": "api/built-in-directives.html#v-show"
    },
    {
      "name": "v-if",
      "description": {
        "kind": "markdown",
        "value": "Podmíněné vykreslování elementu nebo fragmentu šablony na základě pravdivostní hodnoty výrazu.\n\n- **Očekává:** `any`\n\n- **Podrobnosti**\n\n  Když je element s `v-if` přepnut, element a jeho obsažené direktivy / komponenty jsou zničeny a znovu vytvořeny. Pokud je počáteční podmínka nepravdivá, vnitřní obsah nebude vůbec vykreslen.\n\n  Lze použít na `<template>` pro označení podmíněného bloku obsahujícího pouze text nebo více elementů.\n\n  Tato direktiva spouští přechody, když se změní její podmínka.\n\n  Pokud jsou použity společně, `v-if` má vyšší prioritu než `v-for`. Nedoporučujeme používat tyto dvě direktivy společně na jednom elementu. Pro podrobnosti se podívejte na [průvodce vykreslováním seznamu](https://cs.vuejs.org/guide/essentials/list.html#v-for-with-v-if).\n\n- **Viz také:** [Podmíněné vykreslování - v-if](https://cs.vuejs.org/guide/essentials/conditional.html#v-if)"
      },
      "references": "api/built-in-directives.html#v-if"
    },
    {
      "name": "v-else",
      "valueSet": "v",
      "description": {
        "kind": "markdown",
        "value": "Označuje „else blok“ pro `v-if` nebo řetězec `v-if` / `v-else-if`.\n\n- **Nepředpokládá výraz**\n\n- **Podrobnosti**\n\n  - Omezení: předchozí element (sibling) musí mít `v-if` nebo `v-else-if`.\n\n  - Lze použít na `<template>` pro označení podmíněného bloku obsahujícího pouze text nebo více prvků.\n\n- **Příklad**\n\n  ```html\n  <div v-if=\"Math.random() > 0.5\">\n    Teď mě vidíš\n  </div>\n  <div v-else>\n    Teď mě nevidíš\n  </div>\n  ```\n\n- **Viz také:** [Podmíněné vykreslování - v-else](https://cs.vuejs.org/guide/essentials/conditional.html#v-else)"
      },
      "references": "api/built-in-directives.html#v-else"
    },
    {
      "name": "v-else-if",
      "description": {
        "kind": "markdown",
        "value": "Označuje „else if blok“ pro `v-if`. Může být řetězený (více „else if“ větví).\n\n- **Očekává:** `any`\n\n- **Podrobnosti**\n\n  - Omezení: předchozí element (sibling) musí mít `v-if` nebo `v-else-if`.\n\n  - Lze použít na `<template>` pro označení podmíněného bloku obsahujícího pouze text nebo více prvků.\n\n- **Příklad**\n\n  ```html\n  <div v-if=\"type === 'A'\">\n    A\n  </div>\n  <div v-else-if=\"type === 'B'\">\n    B\n  </div>\n  <div v-else-if=\"type === 'C'\">\n    C\n  </div>\n  <div v-else>\n    Není A/B/C\n  </div>\n  ```\n\n- **Viz také:** [Podmíněné vykreslování - v-else-if](https://cs.vuejs.org/guide/essentials/conditional.html#v-else-if)"
      },
      "references": "api/built-in-directives.html#v-else-if"
    },
    {
      "name": "v-for",
      "description": {
        "kind": "markdown",
        "value": "Vykreslí element nebo blok šablony vícekrát na základě zdrojových dat.\n\n- **Očekává:** `Array | Object | number | string | Iterable`\n\n- **Podrobnosti**\n\n  Hodnota direktivy musí používat speciální syntaxi `alias in expression` pro poskytnutí aliasu na aktuální element, který je iterován:\n\n  ```html\n  <div v-for=\"item in items\">\n    {{ item.text }}\n  </div>\n  ```\n\n  Alternativně můžete také specifikovat alias pro index (nebo klíč, pokud se používá na objektu):\n\n  ```html\n  <div v-for=\"(item, index) in items\"></div>\n  <div v-for=\"(value, key) in object\"></div>\n  <div v-for=\"(value, name, index) in object\"></div>\n  ```\n\n  Výchozí chování `v-for` je pokusit se opravit elementy na místě, aniž by byly přesouvány. Pokud chcete, aby byly přeuspořádány, měli byste poskytnout nápovědu pro řazení pomocí speciálního atributu `key`:\n\n  ```html\n  <div v-for=\"item in items\" :key=\"item.id\">\n    {{ item.text }}\n  </div>\n  ```\n\n  `v-for` může také pracovat s hodnotami, které implementují [Iterable Protocol](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols#The_iterable_protocol), včetně nativních `Map` a `Set`.\n\n- **Viz také:**\n  - [Vykreslování seznamu](https://cs.vuejs.org/guide/essentials/list.html)"
      },
      "references": "api/built-in-directives.html#v-for"
    },
    {
      "name": "v-on",
      "description": {
        "kind": "markdown",
        "value": "Připojí k elementu event listener.\n\n- **Zkratka:** `@`\n\n- **Očekává:** `Function | Inline Statement | Object (bez parametru)`\n\n- **Parametr:** `event` (volitelné při použití objektové syntaxe)\n\n- **Modifikátory**\n\n  - `.stop` – zavolá `event.stopPropagation()`.\n  - `.prevent` – zavolá `event.preventDefault()`.\n  - `.capture` – přidá event listener v režimu zachycení (capture mode).\n  - `.self` – spustí handler pouze pokud byla událost vyvolána z tohoto elementu.\n  - `.{keyAlias}` – spustí handler pouze pro určité klávesy.\n  - `.once` – spustí handler maximálně jednou.\n  - `.left` – spustí handler pouze pro události levého tlačítka myši.\n  - `.right` – spustí handler pouze pro události pravého tlačítka myši.\n  - `.middle` – spustí handler pouze pro události středního tlačítka myši.\n  - `.passive` – připojí DOM událost s `{ passive: true }`.\n\n- **Podrobnosti**\n\n  Typ události je určen parametrem. Výraz může být název metody, vložený příkaz nebo může být vynechán, pokud jsou přítomny modifikátory.\n\n  Pokud je použito na běžném elementu, naslouchá pouze [**nativním DOM událostem**](https://developer.mozilla.org/en-US/docs/Web/Events). Pokud je použito na elementu vlastní komponenty, naslouchá **vlastním událostem** emitovaným na tomto potomkovi.\n\n  Při naslouchání nativním DOM událostem metoda přijímá jako jediný parametr nativní událost. Pokud je použit vložený příkaz, příkaz má přístup k speciální vlastnosti `$event`: `v-on:click=\"handle('ok', $event)\"`.\n\n  `v-on` také podporuje binding na objekt párů událost / listener bez parametru. Pozor, při použití objektové syntaxe nepodporuje žádné modifikátory.\n\n- **Příklad**\n\n  ```html\n  <!-- handler metody -->\n  <button v-on:click=\"doThis\"></button>\n\n  <!-- dynamická událost -->\n  <button v-on:[event]=\"doThis\"></button>\n\n  <!-- inline příkaz -->\n  <button v-on:click=\"doThat('hello', $event)\"></button>\n\n  <!-- zkratka -->\n  <button @click=\"doThis\"></button>\n\n  <!-- zkratka pro dynamickou událost -->\n  <button @[event]=\"doThis\"></button>\n\n  <!-- zastavení propagace -->\n  <button @click.stop=\"doThis\"></button>\n\n  <!-- zamezení výchozího chování -->\n  <button @click.prevent=\"doThis\"></button>\n\n  <!-- zamezení výchozího chování bez výrazu -->\n  <form @submit.prevent></form>\n\n  <!-- řetězení modifikátorů -->\n  <button @click.stop.prevent=\"doThis\"></button>\n\n  <!-- modifikátor klávesy pomocí keyAlias -->\n  <input @keyup.enter=\"onEnter\" />\n\n  <!-- událost click bude spuštěna nejvýše jednou -->\n  <button v-on:click.once=\"doThis\"></button>\n\n  <!-- objektová syntaxe -->\n  <button v-on=\"{ mousedown: doThis, mouseup: doThat }\"></button>\n  ```\n\n  Naslouchání vlastním událostem na komponentě potomka (handler je volán při emitování „my-event“ z potomka):\n\n  ```html\n  <MyComponent @my-event=\"handleThis\" />\n\n  <!-- inline příkaz -->\n  <MyComponent @my-event=\"handleThis(123, $event)\" />\n  ```\n\n- **Viz také:**\n  - [Obsluha událostí](https://cs.vuejs.org/guide/essentials/event-handling.html)\n  - [Základy komponent – Naslouchání událostem](https://cs.vuejs.org/guide/essentials/component-basics.html#listening-to-events)"
      },
      "references": "api/built-in-directives.html#v-on"
    },
    {
      "name": "v-bind",
      "description": {
        "kind": "markdown",
        "value": "Dynamicky váže jeden nebo více atributů nebo vlastností (props) komponenty na výraz.\n\n- **Zkratka:** \n  - `:` nebo `.` (pokud se používá modifikátor `.prop`)\n  - Vynechání hodnoty (pokud mají atribut a vázaná hodnota stejný název), podporováno až od verze 3.4+\n\n- **Očekává:** `libovolný (s parametrem) | Objekt (bez parametru)`\n\n- **Parametr:** `attrOrProp (volitelné)`\n\n- **Modifikátory**\n\n  - `.camel` – převede název atributu z kebab-case na camelCase.\n  - `.prop` – vynutí binding jako vlastnost (prop) DOM (3.2+).\n  - `.attr` – vynutí binding jako atribut DOM (3.2+).\n\n- **Použití**\n\n  Pokud se používá pro binding atributu `class` nebo `style`, `v-bind` podporuje další typy hodnot, jako jsou pole nebo objekty. Podrobnosti naleznete v příslušné části průvodce níže.\n\n  Při nastavování bindingu na element Vue ve výchozím nastavení kontroluje, zda má element klíč definovaný jako vlastnost pomocí operátoru `in`. Pokud je vlastnost definována, Vue nastaví hodnotu jako vlastnost DOM místo atributu. To by mělo fungovat ve většině případů, ale toto chování můžete přepsat explicitním použitím modifikátorů `.prop` nebo `.attr`. To je někdy nutné, zejména při [práci s custom elementy](https://cs.vuejs.org/guide/extras/web-components.html#passing-dom-properties).\n\n  Při použití pro binding vlastností (props) komponenty musí být vlastnost v&nbsp;komponentě potomka správně deklarována.\n\n  Pokud se používá bez parametru, může být použito pro binding objektu obsahujícího páry název-hodnota atributu.\n\n- **Příklad**\n\n  ```html\n  <!-- binding atributu -->\n  <img v-bind:src=\"imageSrc\" />\n\n  <!-- dynamický název atributu -->\n  <button v-bind:[key]=\"value\"></button>\n\n  <!-- zkratka -->\n  <img :src=\"imageSrc\" />\n\n  <!-- zkratka stejného názvu (3.4+), bude rozšířeno na :src=\"src\" -->\n  <img :src />\n\n  <!-- zkratka s dynamickým názvem atributu -->\n  <button :[key]=\"value\"></button>\n\n  <!-- se spojením řetězců -->\n  <img :src=\"'/path/to/images/' + fileName\" />\n\n  <!-- binding třídy -->\n  <div :class=\"{ red: isRed }\"></div>\n  <div :class=\"[classA, classB]\"></div>\n  <div :class=\"[classA, { classB: isB, classC: isC }]\"></div>\n\n  <!-- binding stylů -->\n  <div :style=\"{ fontSize: size + 'px' }\"></div>\n  <div :style=\"[styleObjectA, styleObjectB]\"></div>\n\n  <!-- binding objektu attributů -->\n  <div v-bind=\"{ id: someProp, 'other-attr': otherProp }\"></div>\n\n  <!-- binding vlastnosti, `prop` musí být deklarována v komponentě potomka -->\n  <MyComponent :prop=\"someThing\" />\n\n  <!-- předání props z rodiče, které jsou společné s komponentou potomka -->\n  <MyComponent v-bind=\"$props\" />\n\n  <!-- XLink -->\n  <svg><a :xlink:special=\"foo\"></a></svg>\n  ```\n\nModifikátor `.prop` má také zkrácenou formu, `.`:\n\n```html\n<div :someProperty.prop=\"someObject\"></div>\n\n<!-- ekvivalentní zápis -->\n<div .someProperty=\"someObject\"></div>\n```\n\nModifikátor `.camel` umožňuje převést jméno atributu `v-bind` na camelCase, například atribut `viewBox` ve SVG:\n\n```html\n<svg :view-box.camel=\"viewBox\"></svg>\n```\n\n`.camel` není potřeba, pokud používáte řetězcové šablony nebo předkompilujete šablonu pomocí build fáze.\n\n- **Viz také:**\n  - [Binding tříd a stylů](https://cs.vuejs.org/guide/essentials/class-and-style.html)\n  - [Vlastnosti (Props) - Detaily předávání vlastností](https://cs.vuejs.org/guide/components/props.html#prop-passing-details)"
      },
      "references": "api/built-in-directives.html#v-bind"
    },
    {
      "name": "v-model",
      "description": {
        "kind": "markdown",
        "value": "Vytvoří oboustranný binding na input element formuláře nebo komponenty.\n\n- **Očekává:** hodnota závisí na hodnotě input elementu formuláře nebo výstupu komponenty\n\n- **Omezeno na:**\n\n  - `<input>`\n  - `<select>`\n  - `<textarea>`\n  - komponenty\n\n- **Modifikátory**\n\n  - [`.lazy`](https://cs.vuejs.org/guide/essentials/forms.html#lazy) - naslouchá událostem `change` místo `input`\n  - [`.number`](https://cs.vuejs.org/guide/essentials/forms.html#number) - převede platný řetězcový vstup na čísla\n  - [`.trim`](https://cs.vuejs.org/guide/essentials/forms.html#trim) - odstraní přebytečné mezery\n\n- **Viz také:**\n\n  - [Binding dat z formulářů](https://cs.vuejs.org/guide/essentials/forms.html)\n  - [Binding přes v-model](https://cs.vuejs.org/guide/components/v-model.html)"
      },
      "references": "api/built-in-directives.html#v-model"
    },
    {
      "name": "v-slot",
      "description": {
        "kind": "markdown",
        "value": "Určuje pojmenované sloty nebo scoped sloty, které očekávají předání vlastností (props).\n\n- **Zkrácený zápis:** `#`\n\n- **Očekává:** JavaScriptový výraz, který je platný v pozici parametru funkce, včetně podpory destrukturování. Volitelné - je potřeba pouze pokud očekáváte, že budou do slotu předány vlastnosti.\n\n- **Parametr:** název slotu (volitelné, výchozí hodnota je `default`)\n\n- **Omezeno na:**\n\n  - `<template>`\n  - [komponenty](https://cs.vuejs.org/guide/components/slots.html#scoped-slots) (pro samostatný default slot s props)\n\n- **Příklad**\n\n  ```html\n  <!-- Pojmenované sloty -->\n  <BaseLayout>\n    <template v-slot:header>\n      Obsah záhlaví\n    </template>\n\n    <template v-slot:default>\n      Obsah default slotu\n    </template>\n\n    <template v-slot:footer>\n      Obsah zápatí\n    </template>\n  </BaseLayout>\n\n  <!-- Pojmenovaný slot, který přijímá props -->\n  <InfiniteScroll>\n    <template v-slot:item=\"slotProps\">\n      <div class=\"item\">\n        {{ slotProps.item.text }}\n      </div>\n    </template>\n  </InfiniteScroll>\n\n  <!-- Default slot, který přijímá props s destrukturováním -->\n  <Mouse v-slot=\"{ x, y }\">\n    Pozice myši: {{ x }}, {{ y }}\n  </Mouse>\n  ```\n\n- **Viz také:**\n  - [Komponenty – Sloty (Slots)](https://cs.vuejs.org/guide/components/slots.html)"
      },
      "references": "api/built-in-directives.html#v-slot"
    },
    {
      "name": "v-pre",
      "valueSet": "v",
      "description": {
        "kind": "markdown",
        "value": "Přeskočit kompilaci tohoto elementu a všech jeho potomků.\n\n- **Nepředpokládá výraz** \n\n- **Podrobnosti**\n\n  Uvnitř elementu s `v-pre` budou všechny syntaxe Vue šablony zachovány a&nbsp;vykresleny tak, jak jsou. Nejběžnějším použitím je zobrazení nezpracovaných „mustache“ tagů.\n\n- **Příklad**\n\n  ```html\n  <span v-pre>{{ toto nebude zkompilováno }}</span>\n  ```"
      },
      "references": "api/built-in-directives.html#v-pre"
    },
    {
      "name": "v-once",
      "valueSet": "v",
      "description": {
        "kind": "markdown",
        "value": "Vykreslit element nebo komponentu pouze jednou a přeskočit budoucí aktualizace.\n\n- **Nepředpokládá výraz** \n\n- **Podrobnosti**\n\n  Při dalších překreslováních budou element/komponenta a všichni potomci považováni za statický obsah a přeskočeni. To lze použít k optimalizaci výkonu aktualizace.\n\n  ```html\n  <!-- jediný prvek -->\n  <span v-once>Toto se nikdy nezmění: {{msg}}</span>\n  <!-- element s potomky -->\n  <div v-once>\n    <h1>Komentář</h1>\n    <p>{{msg}}</p>\n  </div>\n  <!-- komponenta -->\n  <MyComponent v-once :comment=\"msg\"></MyComponent>\n  <!-- direktiva `v-for` -->\n  <ul>\n    <li v-for=\"i in list\" v-once>{{i}}</li>\n  </ul>\n  ```\n\n  Od verze 3.2 si můžete také část šablony „zapamatovat“ (memoize) s podmínkami neplatnosti pomocí [`v-memo`](#v-memo).\n\n- **Viz také:**\n  - [Syntaxe šablon – Interpolace textu](https://cs.vuejs.org/guide/essentials/template-syntax.html#text-interpolation)\n  - [v-memo](#v-memo)"
      },
      "references": "api/built-in-directives.html#v-once"
    },
    {
      "name": "v-memo",
      "description": {
        "kind": "markdown",
        "value": "- Podporováno až od verze 3.2+\n\n- **Očekává:** `any[]`\n\n- **Podrobnosti**\n\n  Uloží si (memoize) podstrom šablony. Může být použito jak na elementech, tak na komponentách. Direktiva očekává pole hodnot závislostí pevné délky, které se porovnávají pro zapamatování. Pokud každá hodnota v poli byla stejná jako při posledním vykreslení, aktualizace pro celý podstrom bude přeskočena. Například:\n\n  ```html\n  <div v-memo=\"[hodnotaA, hodnotaB]\">\n    ...\n  </div>\n  ```\n\n  Pokud při opětovném vykreslení komponenty zůstanou jak `hodnotaA`, tak `hodnotaB` stejné, všechny aktualizace pro tento `<div>` a jeho potomky budou přeskočeny. Ve skutečnosti bude přeskočeno i vytváření Virtual DOM VNode, protože memoizovaná kopie podstromu může být znovu použita.\n\n  Je důležité správně specifikovat pole pro zapamatování, jinak můžeme přeskočit aktualizace, které by aplikovány být měly. `v-memo` s prázdným polem závislostí (`v-memo=\"[]\"`) by bylo funkčně ekvivalentní `v-once`.\n\n  **Použití s `v-for`**\n\n  `v-memo` je poskytováno výhradně pro mikrooptimalizace výkonu a je potřeba jen zřídka. Nejběžnější případ, kdy se to může hodit, je při vykreslování velkých seznamů `v-for` (kde `length > 1000`):\n\n  ```html\n  <div v-for=\"prvek in seznam\" :key=\"prvek.id\" v-memo=\"[prvek.id === vybrano]\">\n    <p>ID: {{ prvek.id }} - vybráno: {{ prvek.id === vybrano }}</p>\n    <p>...další potomci</p>\n  </div>\n  ```\n\n  Při změně stavu `vybrano` komponenty bude vytvořeno velké množství VNodes, i když většina položek zůstala přesně stejná. Použití `v-memo` zde znamená _„aktualizujte tuto položku pouze tehdy, pokud se změnila z nevybrané na vybranou nebo naopak“_. To&nbsp;umožňuje každé neovlivněné položce znovu použít její předchozí VNode a úplně přeskočit porovnávání rozdílů. Poznamenejme, že zde do pole závislostí pro zapamatování nemusíme zahrnout `prvek.id`, protože Vue ji automaticky odvodí z&nbsp;`:key` položky.\n\n  :::warning Varování\n  Při použití `v-memo` s `v-for` se ujistěte, že jsou použity na stejném elementu. **`v-memo` nefunguje uvnitř `v-for`.**\n  :::\n\n  `v-memo` lze také použít na komponentách k manuálnímu zabránění nechtěným aktualizacím v určitých okrajových případech, kdy byla kontrola aktualizace potomka de-optimalizována. Ale opět je zodpovědností vývojáře specifikovat správné pole závislostí, aby se zabránilo vynechání nutných aktualizací.\n\n- **Viz také:**\n  - [v-once](#v-once)"
      },
      "references": "api/built-in-directives.html#v-memo"
    },
    {
      "name": "v-cloak",
      "valueSet": "v",
      "description": {
        "kind": "markdown",
        "value": "Používá se k skrytí nezkompilované šablony, dokud není připravena.\n\n- **Nepředpokládá výraz**\n\n- **Podrobnosti**\n\n  **Tato direktiva je potřeba pouze při použití bez build fáze.**\n\n  Při použití in-DOM šablon může dojít k „blikání (flashing) nezkompilovaných šablon“: uživatel může vidět nezpracované „mustache“ značky, dokud je připojená (mounted) komponenta nenahradí vykresleným obsahem.\n\n  `v-cloak` zůstane na elementu, dokud není připojena příslušná instance komponenty. Spolu s CSS pravidly jako `[v-cloak] { display: none }` lze použít k skrytí nezpracovaných šablon, dokud není komponenta připravena.\n\n- **Příklad**\n\n  ```css\n  [v-cloak] {\n    display: none;\n  }\n  ```\n\n  ```html\n  <div v-cloak>\n    {{ message }}\n  </div>\n  ```\n\n  `<div>` nebude viditelný, dokud nebude dokončena kompilace."
      },
      "references": "api/built-in-directives.html#v-cloak"
    },
    {
      "name": "key",
      "description": {
        "kind": "markdown",
        "value": "Speciální atribut `key` se používá především jako nápověda pro virtuální DOM algoritmus Vue pro identifikaci elementů (VNodes) při porovnávání nového seznamu s původním seznamem.\n\n- **Očekává:** `number | string | symbol`\n\n- **Podrobnosti**\n\n  Bez `key` atributů Vue používá algoritmus, který minimalizuje pohyb elementů a snaží se co nejvíce upravit / znovupoužít elementy stejného typu na stejném místě. S&nbsp;použitím `key` se elementy přeuspořádávají na základě změny pořadí klíčů a&nbsp;elementy s klíči, které již nejsou přítomny, budou vždy odstraněny / zničeny.\n\n  Potomci stejného společného rodiče musí mít **unikátní klíče**. Duplicitní atributy `key` způsobí chyby při vykreslování.\n\n  Nejběžnější použití je v kombinaci s `v-for`:\n\n  ```html\n  <ul>\n    <li v-for=\"item in items\" :key=\"item.id\">...</li>\n  </ul>\n  ```\n\n  Mohou být také použity k vynucenému nahrazení elementu/komponenty místo jejího znovupoužití. To může být užitečné, když chcete:\n\n  - Správně spustit lifecycle hooky komponenty\n  - Spustit přechody (transitions)\n\n  Například:\n\n  ```html\n  <transition>\n    <span :key=\"text\">{{ text }}</span>\n  </transition>\n  ```\n\n  Když se změní `text`, `<span>` bude vždy nahrazen místo pouhé úpravy, takže se přechod spustí.\n\n- **Viz také:** [Průvodce – Vykreslování seznamu – Udržování stavu pomocí `key`](https://cs.vuejs.org/guide/essentials/list.html#maintaining-state-with-key)"
      },
      "references": "api/built-in-special-attributes.html#key"
    },
    {
      "name": "ref",
      "description": {
        "kind": "markdown",
        "value": "Určuje [Template ref](https://cs.vuejs.org/guide/essentials/template-refs.html).\n\n- **Očekává:** `string | Function`\n\n- **Podrobnosti**\n\n  `ref` se používá k zaregistrování reference na element nebo komponentu potomka.\n\n  V Options API bude reference zaregistrována v objektu `this.$refs` komponenty:\n\n  ```html\n  <!-- uloženo jako this.$refs.p -->\n  <p ref=\"p\">ahoj</p>\n  ```\n\n  V Composition API bude reference uložena jako `ref` se shodným názvem:\n\n  ```vue\n  <script setup>\n  import { useTemplateRef } from 'vue'\n\n  const pRef = useTemplateRef('p')\n  </script>\n\n  <template>\n    <p ref=\"p\">ahoj</p>\n  </template>\n  ```\n\n  Pokud je použito na obyčejném DOM elementu, reference bude odkazovat na tento element; pokud je použito na komponentě potomka, reference bude odkazovat na příslušnou instanci komponenty.\n\n  Alternativně může `ref` přijmout hodnotu funkce, která poskytuje plnou kontrolu, kam referenci uložit:\n\n  ```html\n  <ChildComponent :ref=\"(el) => child = el\" />\n  ```\n\n  Důležitá poznámka ohledně času registrace ref: protože samotné refs jsou vytvořeny jako výsledek vykreslovací funkce, musíte počkat, až je komponenta připojena (mounted), než k nim lze přistoupit.\n\n  `this.$refs` také není reaktivní, proto byste se neměli pokoušet tento objekt použít v&nbsp;šablonách pro data-binding.\n\n- **Viz také:**\n  - [Průvodce – Template Refs](https://cs.vuejs.org/guide/essentials/template-refs.html)\n  - [Průvodce – Typování template refs](https://cs.vuejs.org/guide/typescript/composition-api.html#typing-template-refs) <sup class=\"vt-badge ts\" />\n  - [Průvodce – Typování template refs komponenty](https://cs.vuejs.org/guide/typescript/composition-api.html#typing-component-template-refs) <sup class=\"vt-badge ts\" />"
      },
      "references": "api/built-in-special-attributes.html#ref"
    },
    {
      "name": "is",
      "description": {
        "kind": "markdown",
        "value": "Používá se pro binding [dynamických komponent](https://cs.vuejs.org/guide/essentials/component-basics.html#dynamic-components).\n\n- **Očekává:** `string | Komponenta`\n\n- **Použití na nativních elementech**\n\n  - Podporováno až od verze 3.1+\n\n  Když je atribut `is` použit na nativním HTML elementu, bude interpretován jako [custom vestavěný element](https://html.spec.whatwg.org/multipage/custom-elements.html#custom-elements-customized-builtin-example), což je nativní funkce webové platformy.\n\n  Existuje však případ použití, kdy můžete potřebovat, aby Vue nahradilo nativní element  Vue komponentou, jak je vysvětleno v [upozornění na omezení při parsování in-DOM šablon](https://cs.vuejs.org/guide/essentials/component-basics.html#in-dom-template-parsing-caveats). Můžete atributu `is` přidat předponu `vue:`, aby Vue vykreslilo element jako Vue komponentu:\n\n  ```html\n  <table>\n    <tr is=\"vue:my-row-component\"></tr>\n  </table>\n  ```\n\n- **Viz také:**\n\n  - [Vestavěné speciální elementy – `<component>`](https://cs.vuejs.org/api/built-in-special-elements.html#component)\n  - [Dynamické komponenty](https://cs.vuejs.org/guide/essentials/component-basics.html#dynamic-components)"
      },
      "references": "api/built-in-special-attributes.html#is"
    },
    {
      "name": "data-allow-mismatch",
      "description": {
        "kind": "markdown",
        "value": "Speciální atribut, který lze použít k potlačení varování o [nesouladu hydratace](https://cs.vuejs.org/guide/scaling-up/ssr.html#hydration-mismatch).\n\n- **Příklad**\n\n  ```html\n  <div data-allow-mismatch=\"text\">{{ data.toLocaleString() }}</div>\n  ```\n  \n  Hodnota může omezit povolený nesoulad na určitý typ. Povolené hodnoty jsou:\n\n  - `text`\n  - `children` (povoluje nesoulad pouze na přímých potomcích)\n  - `class`\n  - `style`\n  - `attribute`\n\n  Pokud není zadána žádná hodnota, jsou povoleny všechny typy nesouladů."
      },
      "references": "api/ssr.html#data-allow-mismatch"
    }
  ]
}