@vue/language-service 1.8.8 → 1.8.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/data/language-blocks/en.json +68 -0
  2. package/data/language-blocks/fr.json +68 -0
  3. package/data/language-blocks/ja.json +68 -0
  4. package/data/language-blocks/ko.json +68 -0
  5. package/data/language-blocks/pt.json +694 -0
  6. package/data/language-blocks/zh-cn.json +68 -0
  7. package/data/model-modifiers/en.json +12 -0
  8. package/data/model-modifiers/fr.json +12 -0
  9. package/data/model-modifiers/ja.json +12 -0
  10. package/data/model-modifiers/ko.json +12 -0
  11. package/data/model-modifiers/pt.json +116 -0
  12. package/data/model-modifiers/zh-cn.json +12 -0
  13. package/data/template/en.json +104 -0
  14. package/data/template/fr.json +104 -0
  15. package/data/template/ja.json +104 -0
  16. package/data/template/ko.json +104 -0
  17. package/data/template/pt.json +978 -0
  18. package/data/template/zh-cn.json +105 -1
  19. package/out/helpers.d.ts +1 -0
  20. package/out/helpers.js +28 -5
  21. package/out/ideFeatures/nameCasing.d.ts +7 -6
  22. package/out/ideFeatures/nameCasing.js +15 -16
  23. package/out/index.d.ts +1 -0
  24. package/out/languageService.d.ts +5 -4
  25. package/out/languageService.js +86 -47
  26. package/out/plugins/data.d.ts +1 -0
  27. package/out/plugins/data.js +9 -0
  28. package/out/plugins/vue-autoinsert-dotvalue.d.ts +2 -2
  29. package/out/plugins/vue-autoinsert-dotvalue.js +5 -4
  30. package/out/plugins/vue-autoinsert-parentheses.d.ts +2 -2
  31. package/out/plugins/vue-autoinsert-parentheses.js +3 -1
  32. package/out/plugins/vue-autoinsert-space.d.ts +2 -2
  33. package/out/plugins/vue-autoinsert-space.js +3 -1
  34. package/out/plugins/vue-codelens-references.d.ts +2 -1
  35. package/out/plugins/vue-codelens-references.js +4 -3
  36. package/out/plugins/vue-directive-comments.d.ts +2 -2
  37. package/out/plugins/vue-directive-comments.js +3 -1
  38. package/out/plugins/vue-extract-file.d.ts +2 -1
  39. package/out/plugins/vue-extract-file.js +4 -4
  40. package/out/plugins/vue-template.d.ts +2 -2
  41. package/out/plugins/vue-template.js +53 -28
  42. package/out/plugins/vue-toggle-v-bind-codeaction.d.ts +2 -1
  43. package/out/plugins/vue-toggle-v-bind-codeaction.js +6 -5
  44. package/out/plugins/vue-twoslash-queries.d.ts +2 -2
  45. package/out/plugins/vue-twoslash-queries.js +27 -2
  46. package/out/plugins/vue-visualize-hidden-callback-param.d.ts +2 -2
  47. package/out/plugins/vue-visualize-hidden-callback-param.js +3 -1
  48. package/out/plugins/vue.d.ts +2 -2
  49. package/out/plugins/vue.js +32 -4
  50. package/out/types.d.ts +1 -0
  51. package/package.json +11 -11
  52. package/out/plugins/vue-.d.ts +0 -7
  53. package/out/plugins/vue-.js +0 -159
  54. package/out/plugins/vue-autoinsert-dotvalue copy.d.ts +0 -7
  55. package/out/plugins/vue-autoinsert-dotvalue copy.js +0 -159
@@ -0,0 +1,978 @@
1
+ {
2
+ "version": 1.1,
3
+ "tags": [
4
+ {
5
+ "name": "Transition",
6
+ "description": {
7
+ "kind": "markdown",
8
+ "value": "\nFornece efeitos de transição animados para um **único** elemento ou componente.\n\n- **Propriedades**\n\n ```ts\n interface TransitionProps {\n /**\n * Usado para gerar automaticamente nomes de classes CSS de transição.\n * exemplo `name: 'fade'` expandirá automaticamente para `.fade-enter`,\n * `.fade-enter-active`, etc.\n */\n name?: string\n /**\n * Decide aplicar classes CSS de transição.\n * Padrão: true\n */\n css?: boolean\n /**\n * Especifica o tipo de eventos de transição à aguardar\n * para determinar a transição e o tempo.\n * O comportamento padrão é detetar automaticamente o tipo\n * que tiver a maior duração.\n */\n type?: 'transition' | 'animation'\n /**\n * Especifica durações explícitas para as transições.\n * O comportamento padrão é esperar pelo primeiro evento `transitionend`\n * ou `animationend` no elemento de transição raiz.\n */\n duration?: number | { enter: number; leave: number }\n /**\n * Controla a sequência de tempo das transições que entram ou saem.\n * O comportamento padrão é simultâneo.\n */\n mode?: 'in-out' | 'out-in' | 'default'\n /**\n * Define aplicar a transição na interpretação inicial.\n * Padrão: false\n */\n appear?: boolean\n\n /**\n * Propriedades para personalizar as classes de transição.\n * Use kebab-case nos modelos de marcação, exemplo 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- **Eventos**\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` (apenas `v-show`)\n - `@appear-cancelled`\n\n- **Exemplo**\n\n Elemento simples:\n\n ```html\n <Transition>\n <div v-if=\"ok\">conteúdo alternado</div>\n </Transition>\n ```\n\n Forçar uma transição mudando o atributo `key`:\n\n ```html\n <Transition>\n <div :key=\"text\">{{ text }}</div>\n </Transition>\n ```\n\n Componente dinâmico, com o modo de transição + animação ao aparecer:\n\n ```html\n <Transition name=\"fade\" mode=\"out-in\" appear>\n <component :is=\"view\"></component>\n </Transition>\n ```\n\n Ouvir eventos de transição:\n\n ```html\n <Transition @after-enter=\"onTransitionComplete\">\n <div v-show=\"ok\">conteúdo ativado</div>\n </Transition>\n ```\n\n- **Consulte também:** [Guia de `<Transition>`](https://pt.vuejs.org/guide/built-ins/transition.html)\n"
9
+ },
10
+ "attributes": [],
11
+ "references": [
12
+ {
13
+ "name": "en",
14
+ "url": "https://vuejs.org/api/built-in-components.html#transition"
15
+ },
16
+ {
17
+ "name": "zh-cn",
18
+ "url": "https://cn.vuejs.org/api/built-in-components.html#transition"
19
+ },
20
+ {
21
+ "name": "ja",
22
+ "url": "https://ja.vuejs.org/api/built-in-components.html#transition"
23
+ },
24
+ {
25
+ "name": "ua",
26
+ "url": "https://ua.vuejs.org/api/built-in-components.html#transition"
27
+ },
28
+ {
29
+ "name": "fr",
30
+ "url": "https://fr.vuejs.org/api/built-in-components.html#transition"
31
+ },
32
+ {
33
+ "name": "ko",
34
+ "url": "https://ko.vuejs.org/api/built-in-components.html#transition"
35
+ },
36
+ {
37
+ "name": "pt",
38
+ "url": "https://pt.vuejs.org/api/built-in-components.html#transition"
39
+ }
40
+ ]
41
+ },
42
+ {
43
+ "name": "TransitionGroup",
44
+ "description": {
45
+ "kind": "markdown",
46
+ "value": "\nFornece efeitos de transição para **múltiplos** elementos ou componentes numa lista.\n\n- **Propriedades**\n\n `<TransitionGroup>` aceita as mesmas propriedades que o `<Transition>` exceto `mode`, e mais duas propriedades adicionais:\n\n ```ts\n interface TransitionGroupProps extends Omit<TransitionProps, 'mode'> {\n /**\n * Se não definido, desenha um fragmento.\n */\n tag?: string\n /**\n * Para personalizar as classes CSS aplicadas durante as transições de movimento.\n * Use kebab-case em modelos de marcação, exemplo move-class=\"xxx\"\n */\n moveClass?: string\n }\n ```\n\n- **Eventos**\n\n `<TransitionGroup>` emite os mesmos eventos que `<Transition>`.\n\n- **Detalhes**\n\n Por padrão, `<TransitionGroup>` não desenha um elemento de DOM que envolve, mas pode ser definido através da propriedade `tag`.\n\n Note que todo filho num `<transition-group>` deve ser [**identificado unicamente**](https://pt.vuejs.org/guide/essentials/list.html#maintaining-state-with-key) para que as animações funcionem apropriadamente.\n\n `<TransitionGroup>` suporta transições de movimento através de transformações de CSS. Quando a posição dum filho na tela é mudada após uma atualização, será aplicada uma classe de movimento CSS (gerada automaticamente pelo atributo `name` ou configurada pela propriedade `move-class`). Se a propriedade de CSS `transform` é passível de transição quando a classe de movimento é aplicada, o elemento será suavemente animado até o seu destino usando a [técnica FLIP](https://aerotwist.com/blog/flip-your-animations/).\n\n- **Exemplo**\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- **Consulte também:** [Guia - `TransitionGroup`](https://pt.vuejs.org/guide/built-ins/transition-group.html)\n"
47
+ },
48
+ "attributes": [],
49
+ "references": [
50
+ {
51
+ "name": "en",
52
+ "url": "https://vuejs.org/api/built-in-components.html#transitiongroup"
53
+ },
54
+ {
55
+ "name": "zh-cn",
56
+ "url": "https://cn.vuejs.org/api/built-in-components.html#transitiongroup"
57
+ },
58
+ {
59
+ "name": "ja",
60
+ "url": "https://ja.vuejs.org/api/built-in-components.html#transitiongroup"
61
+ },
62
+ {
63
+ "name": "ua",
64
+ "url": "https://ua.vuejs.org/api/built-in-components.html#transitiongroup"
65
+ },
66
+ {
67
+ "name": "fr",
68
+ "url": "https://fr.vuejs.org/api/built-in-components.html#transitiongroup"
69
+ },
70
+ {
71
+ "name": "ko",
72
+ "url": "https://ko.vuejs.org/api/built-in-components.html#transitiongroup"
73
+ },
74
+ {
75
+ "name": "pt",
76
+ "url": "https://pt.vuejs.org/api/built-in-components.html#transitiongroup"
77
+ }
78
+ ]
79
+ },
80
+ {
81
+ "name": "KeepAlive",
82
+ "description": {
83
+ "kind": "markdown",
84
+ "value": "\nArmazena para consulta imediata os componentes alternados dinamicamente envolvidos dentro.\n\n- **Propriedades**\n\n ```ts\n interface KeepAliveProps {\n /**\n * Se especificado, apenas componentes com nomes correspondidos\n * pelo `include` estarão na memória de consulta imediata.\n */\n include?: MatchPattern\n /**\n * Qualquer componente com um nome correspondidos pelo `exclude`\n * não estarão na memória de consulta imediata.\n */\n exclude?: MatchPattern\n /**\n * O número máximo de instâncias de componente à armazenar\n * na memória de consulta imediata.\n */\n max?: number | string\n }\n\n type MatchPattern = string | RegExp | (string | RegExp)[]\n ```\n\n- **Detalhes**\n\n Quando envolvido em torno dum componente dinâmico, `<KeepAlive>` armazena para consulta imediata as instâncias de componente inativo sem destruí-las.\n\n Só pode existir uma instância de componente como filho direto de `<KeepAlive>` em qualquer momento.\n\n Quando um componente é alternado dentro de `<KeepAlive>`, seus gatilhos de ciclo de vida `activated` e `deactivated` são invocados de acordo, fornecendo uma alternativa ao `mounted` e `unmounted`, que não são chamados. Isto aplica-se ao filho direto de `<KeepAlive>` e também a todos os seus descendentes.\n\n- **Exemplo**\n\n Uso básico:\n\n ```html\n <KeepAlive>\n <component :is=\"view\"></component>\n </KeepAlive>\n ```\n\n Quando usado com os ramos `v-if` / `v-else`, só deve existir um componente desenhado de cada vez:\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 Usado em conjunto com `<Transition>`:\n\n ```html\n <Transition>\n <KeepAlive>\n <component :is=\"view\"></component>\n </KeepAlive>\n </Transition>\n ```\n\n Usando `include` / `exclude`:\n\n ```html\n <!-- sequência de caracteres delimitada por vírgula -->\n <KeepAlive include=\"a,b\">\n <component :is=\"view\"></component>\n </KeepAlive>\n\n <!-- regex (use `v-bind`) -->\n <KeepAlive :include=\"/a|b/\">\n <component :is=\"view\"></component>\n </KeepAlive>\n\n <!-- vetor (use `v-bind`) -->\n <KeepAlive :include=\"['a', 'b']\">\n <component :is=\"view\"></component>\n </KeepAlive>\n ```\n\n Uso com `max`:\n\n ```html\n <KeepAlive :max=\"10\">\n <component :is=\"view\"></component>\n </KeepAlive>\n ```\n\n- **Consulte também:** [Guia - `KeepAlive`](https://pt.vuejs.org/guide/built-ins/keep-alive.html)\n"
85
+ },
86
+ "attributes": [],
87
+ "references": [
88
+ {
89
+ "name": "en",
90
+ "url": "https://vuejs.org/api/built-in-components.html#keepalive"
91
+ },
92
+ {
93
+ "name": "zh-cn",
94
+ "url": "https://cn.vuejs.org/api/built-in-components.html#keepalive"
95
+ },
96
+ {
97
+ "name": "ja",
98
+ "url": "https://ja.vuejs.org/api/built-in-components.html#keepalive"
99
+ },
100
+ {
101
+ "name": "ua",
102
+ "url": "https://ua.vuejs.org/api/built-in-components.html#keepalive"
103
+ },
104
+ {
105
+ "name": "fr",
106
+ "url": "https://fr.vuejs.org/api/built-in-components.html#keepalive"
107
+ },
108
+ {
109
+ "name": "ko",
110
+ "url": "https://ko.vuejs.org/api/built-in-components.html#keepalive"
111
+ },
112
+ {
113
+ "name": "pt",
114
+ "url": "https://pt.vuejs.org/api/built-in-components.html#keepalive"
115
+ }
116
+ ]
117
+ },
118
+ {
119
+ "name": "Teleport",
120
+ "description": {
121
+ "kind": "markdown",
122
+ "value": "\nDesenha o conteúdo da sua ranhura numa outra parte do DOM.\n\n- **Propriedades**\n\n ```ts\n interface TeleportProps {\n /**\n * Obrigatório. Específica o contentor alvo.\n * Pode ser ou um seletor ou um elemento verdadeiro.\n */\n to: string | HTMLElement\n /**\n * Quando `true`, o conteúdo continuará na sua localização\n * original ao invés de ser movido para o contentor alvo.\n * Pode ser mudado dinamicamente.\n */\n disabled?: boolean\n }\n ```\n\n- **Exemplo**\n\n Especificando o contentor alvo:\n\n ```html\n <teleport to=\"#some-id\" />\n <teleport to=\".some-class\" />\n <teleport to=\"[data-teleport]\" />\n ```\n\n Desativar condicionalmente:\n\n ```html\n <teleport to=\"#popup\" :disabled=\"displayVideoInline\">\n <video src=\"./my-movie.mp4\">\n </teleport>\n ```\n\n- **Consulte também:** [Guia - `Teleport`](https://pt.vuejs.org/guide/built-ins/teleport.html)\n"
123
+ },
124
+ "attributes": [],
125
+ "references": [
126
+ {
127
+ "name": "en",
128
+ "url": "https://vuejs.org/api/built-in-components.html#teleport"
129
+ },
130
+ {
131
+ "name": "zh-cn",
132
+ "url": "https://cn.vuejs.org/api/built-in-components.html#teleport"
133
+ },
134
+ {
135
+ "name": "ja",
136
+ "url": "https://ja.vuejs.org/api/built-in-components.html#teleport"
137
+ },
138
+ {
139
+ "name": "ua",
140
+ "url": "https://ua.vuejs.org/api/built-in-components.html#teleport"
141
+ },
142
+ {
143
+ "name": "fr",
144
+ "url": "https://fr.vuejs.org/api/built-in-components.html#teleport"
145
+ },
146
+ {
147
+ "name": "ko",
148
+ "url": "https://ko.vuejs.org/api/built-in-components.html#teleport"
149
+ },
150
+ {
151
+ "name": "pt",
152
+ "url": "https://pt.vuejs.org/api/built-in-components.html#teleport"
153
+ }
154
+ ]
155
+ },
156
+ {
157
+ "name": "Suspense",
158
+ "description": {
159
+ "kind": "markdown",
160
+ "value": "\nUsado para orquestrar dependências assíncronas encaixadas numa árvore de componente.\n\n- **Propriedades**\n\n ```ts\n interface SuspenseProps {\n timeout?: string | number\n }\n ```\n\n- **Eventos**\n\n - `@resolve`\n - `@pending`\n - `@fallback`\n\n- **Detalhes**\n\n `<Suspense>` aceita duas ranhuras: a ranhura `#default` e a ranhura `#fallback`. Ele exibirá o conteúdo da ranhura de retorno (`#fallback`) enquanto desenha a ranhura padrão (`#default`) na memória.\n\n Se encontrar dependências assíncronas ([Componentes Assíncronos](https://pt.vuejs.org/guide/components/async.html) e componentes com [`async setup()`](https://pt.vuejs.org/guide/built-ins/suspense.html#async-setup)) enquanto desenha a ranhura padrão, aguardará até todos serem resolvidos antes de exibir a ranhura padrão.\n\n- **Consulte também:** [Guia - `Suspense`](https://pt.vuejs.org/guide/built-ins/suspense.html)\n"
161
+ },
162
+ "attributes": [],
163
+ "references": [
164
+ {
165
+ "name": "en",
166
+ "url": "https://vuejs.org/api/built-in-components.html#suspense"
167
+ },
168
+ {
169
+ "name": "zh-cn",
170
+ "url": "https://cn.vuejs.org/api/built-in-components.html#suspense"
171
+ },
172
+ {
173
+ "name": "ja",
174
+ "url": "https://ja.vuejs.org/api/built-in-components.html#suspense"
175
+ },
176
+ {
177
+ "name": "ua",
178
+ "url": "https://ua.vuejs.org/api/built-in-components.html#suspense"
179
+ },
180
+ {
181
+ "name": "fr",
182
+ "url": "https://fr.vuejs.org/api/built-in-components.html#suspense"
183
+ },
184
+ {
185
+ "name": "ko",
186
+ "url": "https://ko.vuejs.org/api/built-in-components.html#suspense"
187
+ },
188
+ {
189
+ "name": "pt",
190
+ "url": "https://pt.vuejs.org/api/built-in-components.html#suspense"
191
+ }
192
+ ]
193
+ },
194
+ {
195
+ "name": "component",
196
+ "description": {
197
+ "kind": "markdown",
198
+ "value": "\nUm \"meta componente\" para renderizar dinâmicamente componentes ou elementos.\n\n- **Propriedades**\n\n ```ts\n interface DynamicComponentProps {\n is: string | Component\n }\n ```\n\n- **Detalhes**\n\n O atual componente a ser renderizado é determinado pela propriedade `is`.\n\n - Quando `is` é uma string, pode ser um nome de tag HTML ou o nome registrado de um componente\n\n - Alternativamente, `is` também pode ser vinculado diretamente à definição de um componente.\n\n- **Exemplo**\n\n Renderizando componentes por nome registrado (API de Opções):\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 Renderizando componentes por definição (API de Composição com `<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 Renderizando elementos HTML:\n\n ```html\n <component :is=\"href ? 'a' : 'span'\"></component>\n ```\n\n Os [componentes embutidos](./built-in-components.html) podem ser todos passados por `is`, mas você deve registrá-los se quiser passá-los por nome. Por exemplo:\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 O registro não é necessário se você passar o próprio componente para `is` em vez de seu nome, por exemplo em `<script setup>`.\n\n Se `v-model` for usado em uma tag `<component>`, o compilador de template irá expandi-lo para suporte com a propriedade `modelValue` e um event listener `update:modelValue`, assim como faria para qualquer outro componente. No entanto, isso não será compatível com elementos HTML nativos, como `<input>` ou `<select>`. Como resultado, usar `v-model` com um elemento nativo criado dinamicamente não funcionará:\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 <!-- Isso não funcionará porque 'input' é um elemento HTML nativo -->\n <component :is=\"tag\" v-model=\"username\" />\n </template>\n ```\n\n Na prática, esse caso extremo não é comum, pois os campos de formulário nativos geralmente são agrupados em componentes em aplicativos reais. Se você precisar usar um elemento nativo diretamente, poderá dividir o `v-model` em um atributo e evento manualmente.\n\n- **Veja também:** [Componentes Dinâmicos](https://pt.vuejs.org/guide/essentials/component-basics.html#dynamic-components)\n"
199
+ },
200
+ "attributes": [],
201
+ "references": [
202
+ {
203
+ "name": "en",
204
+ "url": "https://vuejs.org/api/built-in-special-elements.html#component"
205
+ },
206
+ {
207
+ "name": "zh-cn",
208
+ "url": "https://cn.vuejs.org/api/built-in-special-elements.html#component"
209
+ },
210
+ {
211
+ "name": "ja",
212
+ "url": "https://ja.vuejs.org/api/built-in-special-elements.html#component"
213
+ },
214
+ {
215
+ "name": "ua",
216
+ "url": "https://ua.vuejs.org/api/built-in-special-elements.html#component"
217
+ },
218
+ {
219
+ "name": "fr",
220
+ "url": "https://fr.vuejs.org/api/built-in-special-elements.html#component"
221
+ },
222
+ {
223
+ "name": "ko",
224
+ "url": "https://ko.vuejs.org/api/built-in-special-elements.html#component"
225
+ },
226
+ {
227
+ "name": "pt",
228
+ "url": "https://pt.vuejs.org/api/built-in-special-elements.html#component"
229
+ }
230
+ ]
231
+ },
232
+ {
233
+ "name": "slot",
234
+ "description": {
235
+ "kind": "markdown",
236
+ "value": "\nIndica saídas de conteúdo de slot em templates.\n\n- **Propriedades**\n\n ```ts\n interface SlotProps {\n /**\n * Qualquer propriedade passada para <slot> para passar como argumentos\n * para slots com escopo\n */\n [key: string]: any\n /**\n * Reservado para especificar o nome do slot.\n */\n name?: string\n }\n ```\n\n- **Detalhes**\n\n O elemento `<slot>` pode usar o atributo `name` para especificar um nome de slot. Quando nenhum `name` for especificado, ele renderizará o slot padrão. Atributos adicionais passados ​​para o elemento slot serão passados ​​como propriedades de slot para o slot com escopo definido no pai.\n\n O próprio elemento será substituído por seu conteúdo de slot correspondente.\n\n `<slot>` elementos em templates Vue são compilados em JavaScript, então eles não devem ser confundidos com [elementos `<slot>` nativos](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/slot).\n\n- **Veja também:** [Componentes - Slots](https://pt.vuejs.org/guide/components/slots.html)\n"
237
+ },
238
+ "attributes": [],
239
+ "references": [
240
+ {
241
+ "name": "en",
242
+ "url": "https://vuejs.org/api/built-in-special-elements.html#slot"
243
+ },
244
+ {
245
+ "name": "zh-cn",
246
+ "url": "https://cn.vuejs.org/api/built-in-special-elements.html#slot"
247
+ },
248
+ {
249
+ "name": "ja",
250
+ "url": "https://ja.vuejs.org/api/built-in-special-elements.html#slot"
251
+ },
252
+ {
253
+ "name": "ua",
254
+ "url": "https://ua.vuejs.org/api/built-in-special-elements.html#slot"
255
+ },
256
+ {
257
+ "name": "fr",
258
+ "url": "https://fr.vuejs.org/api/built-in-special-elements.html#slot"
259
+ },
260
+ {
261
+ "name": "ko",
262
+ "url": "https://ko.vuejs.org/api/built-in-special-elements.html#slot"
263
+ },
264
+ {
265
+ "name": "pt",
266
+ "url": "https://pt.vuejs.org/api/built-in-special-elements.html#slot"
267
+ }
268
+ ]
269
+ },
270
+ {
271
+ "name": "template",
272
+ "description": {
273
+ "kind": "markdown",
274
+ "value": "\nA tag `<template>` é usada como espaço reservado quando queremos usar uma diretiva interna sem renderizar um elemento no DOM.\n\n- **Detalhes:**\n\n O tratamento especial para `<template>` só é acionado se for usado com uma destas diretivas:\n\n - `v-if`, `v-else-if`, or `v-else`\n - `v-for`\n - `v-slot`\n \n Se nenhuma dessas diretivas estiver presente, ela será renderizada como um [elemento `<template>` nativo](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/template).\n\n Um `<template>` com um `v-for` também pode ter um atributo [`key`](https://pt.vuejs.org/api/built-in-special-attributes.html#key). Todos os outros atributos e diretivas serão descartados, pois não são significativos sem um elemento correspondente.\n\n Componentes de arquivo único (SFC) usam uma [tag `<template>` de alto nível](https://pt.vuejs.org/api/sfc-spec.html#language-blocks) para agrupar todo o template. Esse uso é separado do uso de `<template>` descrito acima. Essa tag de nível superior não faz parte do próprio modelo e não oferece suporte à sintaxe do modelo, tais como diretivas.\n\n- **Veja também:**\n - [Guia - `v-if` on `<template>`](https://pt.vuejs.org/guide/essentials/conditional.html#v-if-on-template) \n - [Guia - `v-for` on `<template>`](https://pt.vuejs.org/guide/essentials/list.html#v-for-on-template) \n - [Guia - Slots nomeados](https://pt.vuejs.org/guide/components/slots.html#named-slots) \n"
275
+ },
276
+ "attributes": [],
277
+ "references": [
278
+ {
279
+ "name": "en",
280
+ "url": "https://vuejs.org/api/built-in-special-elements.html#template"
281
+ },
282
+ {
283
+ "name": "zh-cn",
284
+ "url": "https://cn.vuejs.org/api/built-in-special-elements.html#template"
285
+ },
286
+ {
287
+ "name": "ja",
288
+ "url": "https://ja.vuejs.org/api/built-in-special-elements.html#template"
289
+ },
290
+ {
291
+ "name": "ua",
292
+ "url": "https://ua.vuejs.org/api/built-in-special-elements.html#template"
293
+ },
294
+ {
295
+ "name": "fr",
296
+ "url": "https://fr.vuejs.org/api/built-in-special-elements.html#template"
297
+ },
298
+ {
299
+ "name": "ko",
300
+ "url": "https://ko.vuejs.org/api/built-in-special-elements.html#template"
301
+ },
302
+ {
303
+ "name": "pt",
304
+ "url": "https://pt.vuejs.org/api/built-in-special-elements.html#template"
305
+ }
306
+ ]
307
+ }
308
+ ],
309
+ "globalAttributes": [
310
+ {
311
+ "name": "v-text",
312
+ "description": {
313
+ "kind": "markdown",
314
+ "value": "\nAtualiza o conteúdo de texto do elemento.\n\n- **Espera:** `string`\n\n- **Detalhes**\n\n `v-text` funciona definindo a propriedade [`textContent`](https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent) do elemento, sobrescreverá qualquer conteúdo existente dentro do elemento. Se precisarmos de atualizar a parte da `textContent`, devemos usar as [interpolações de bigodes](https://pt.vuejs.org/guide/essentials/template-syntax.html#text-interpolation).\n\n- **Exemplo**\n\n ```html\n <span v-text=\"msg\"></span>\n <!-- é o mesmo que -->\n <span>{{msg}}</span>\n ```\n\n- **Consulte também** [Sintaxe do Modelo de Marcação - Interpolação de Texto](https://pt.vuejs.org/guide/essentials/template-syntax.html#text-interpolation)\n"
315
+ },
316
+ "references": [
317
+ {
318
+ "name": "en",
319
+ "url": "https://vuejs.org/api/built-in-directives.html#v-text"
320
+ },
321
+ {
322
+ "name": "zh-cn",
323
+ "url": "https://cn.vuejs.org/api/built-in-directives.html#v-text"
324
+ },
325
+ {
326
+ "name": "ja",
327
+ "url": "https://ja.vuejs.org/api/built-in-directives.html#v-text"
328
+ },
329
+ {
330
+ "name": "ua",
331
+ "url": "https://ua.vuejs.org/api/built-in-directives.html#v-text"
332
+ },
333
+ {
334
+ "name": "fr",
335
+ "url": "https://fr.vuejs.org/api/built-in-directives.html#v-text"
336
+ },
337
+ {
338
+ "name": "ko",
339
+ "url": "https://ko.vuejs.org/api/built-in-directives.html#v-text"
340
+ },
341
+ {
342
+ "name": "pt",
343
+ "url": "https://pt.vuejs.org/api/built-in-directives.html#v-text"
344
+ }
345
+ ]
346
+ },
347
+ {
348
+ "name": "v-html",
349
+ "description": {
350
+ "kind": "markdown",
351
+ "value": "\nAtualiza a [`innerHTML`](https://developer.mozilla.org/en-US/docs/Web/API/Element/innerHTML) do elemento.\n\n- **Espera:** `string`\n\n- **Detalhes:**\n\n Os conteúdos da `v-html` são inseridos como HTML simples - a sintaxe de modelo de marcação da Vue não será processada. Se estivermos a tentar compor modelos de marcação usando `v-html`, vamos tentar repensar a solução usando componentes.\n\n :::warning Nota de Segurança\n Interpretar dinamicamente HTML arbitrário na nossa aplicação pode ser muito perigoso porque pode facilmente conduzir à [ataques de XSS](https://en.wikipedia.org/wiki/Cross-site_scripting). Só deveríamos usar `v-html` sobre conteúdo confiável e **nunca** sobre conteúdo fornecido pelo utilizador.\n :::\n\n Nos [Componentes de Ficheiro Único](https://pt.vuejs.org/guide/scaling-up/sfc.html), os estilos `scoped` não serão aplicados ao conteúdo dentro de `v-html`, porque este HTML não é processado pelo compilador de modelos de marcação da Vue. Se quisermos mirar o conteúdo de `v-html` com CSS isolada, podemos usar os [módulos de CSS](./sfc-css-features#css-modules) ou elemento `<style>` adicional e global com uma estratégia de isolamento manual, como a BEM.\n\n- **Exemplo**\n\n ```html\n <div v-html=\"html\"></div>\n ```\n\n- **Consulte também** [Sintaxe do Modelo de Marcação - HTML Puro](https://pt.vuejs.org/guide/essentials/template-syntax.html#raw-html)\n"
352
+ },
353
+ "references": [
354
+ {
355
+ "name": "en",
356
+ "url": "https://vuejs.org/api/built-in-directives.html#v-html"
357
+ },
358
+ {
359
+ "name": "zh-cn",
360
+ "url": "https://cn.vuejs.org/api/built-in-directives.html#v-html"
361
+ },
362
+ {
363
+ "name": "ja",
364
+ "url": "https://ja.vuejs.org/api/built-in-directives.html#v-html"
365
+ },
366
+ {
367
+ "name": "ua",
368
+ "url": "https://ua.vuejs.org/api/built-in-directives.html#v-html"
369
+ },
370
+ {
371
+ "name": "fr",
372
+ "url": "https://fr.vuejs.org/api/built-in-directives.html#v-html"
373
+ },
374
+ {
375
+ "name": "ko",
376
+ "url": "https://ko.vuejs.org/api/built-in-directives.html#v-html"
377
+ },
378
+ {
379
+ "name": "pt",
380
+ "url": "https://pt.vuejs.org/api/built-in-directives.html#v-html"
381
+ }
382
+ ]
383
+ },
384
+ {
385
+ "name": "v-show",
386
+ "description": {
387
+ "kind": "markdown",
388
+ "value": "\nAlterna a visibilidade do elemento baseado na veracidade do valor da expressão.\n\n- **Espera:** `any`\n\n- **Detalhes**\n\n `v-show` funciona definindo a propriedade de CSS `display` através de estilos em linha, e tentará respeitar o valor inicial da `display` quando o elemento estiver visível. Também aciona transições quando sua condição muda.\n\n- **Consulte também** [Interpretação Condicional - `v-show`](https://pt.vuejs.org/guide/essentials/conditional.html#v-show)\n"
389
+ },
390
+ "references": [
391
+ {
392
+ "name": "en",
393
+ "url": "https://vuejs.org/api/built-in-directives.html#v-show"
394
+ },
395
+ {
396
+ "name": "zh-cn",
397
+ "url": "https://cn.vuejs.org/api/built-in-directives.html#v-show"
398
+ },
399
+ {
400
+ "name": "ja",
401
+ "url": "https://ja.vuejs.org/api/built-in-directives.html#v-show"
402
+ },
403
+ {
404
+ "name": "ua",
405
+ "url": "https://ua.vuejs.org/api/built-in-directives.html#v-show"
406
+ },
407
+ {
408
+ "name": "fr",
409
+ "url": "https://fr.vuejs.org/api/built-in-directives.html#v-show"
410
+ },
411
+ {
412
+ "name": "ko",
413
+ "url": "https://ko.vuejs.org/api/built-in-directives.html#v-show"
414
+ },
415
+ {
416
+ "name": "pt",
417
+ "url": "https://pt.vuejs.org/api/built-in-directives.html#v-show"
418
+ }
419
+ ]
420
+ },
421
+ {
422
+ "name": "v-if",
423
+ "description": {
424
+ "kind": "markdown",
425
+ "value": "\nInterpreta condicionalmente um elemento ou um fragmento de modelo de marcação baseado na veracidade do valor da expressão.\n\n- **Espera:** `any`\n\n- **Detalhes**\n\n Quando um elemento de `v-if` é alternado, o elemento e suas diretivas ou componentes contidos são destruídos e construídos novamente. Se a condição inicial for falsa, então o conteúdo interno não será interpretado de todo.\n\n Pode ser usada no `<template>` para denotar um bloco condicional contendo apenas texto ou vários elementos.\n\n Esta diretiva aciona transições quando sua condição muda.\n\n Quando usada em conjunto, a `v-if` tem uma prioridade superior à `v-for`. Não recomendados usar estas duas diretivas ao mesmo tempo sobre um elemento — consulte o [guia de interpretação de lista](https://pt.vuejs.org/guide/essentials/list.html#v-for-with-v-if) por mais detalhes.\n\n- **Consulte também** [Interpretação Condicional - `v-if`](https://pt.vuejs.org/guide/essentials/conditional.html#v-if)\n"
426
+ },
427
+ "references": [
428
+ {
429
+ "name": "en",
430
+ "url": "https://vuejs.org/api/built-in-directives.html#v-if"
431
+ },
432
+ {
433
+ "name": "zh-cn",
434
+ "url": "https://cn.vuejs.org/api/built-in-directives.html#v-if"
435
+ },
436
+ {
437
+ "name": "ja",
438
+ "url": "https://ja.vuejs.org/api/built-in-directives.html#v-if"
439
+ },
440
+ {
441
+ "name": "ua",
442
+ "url": "https://ua.vuejs.org/api/built-in-directives.html#v-if"
443
+ },
444
+ {
445
+ "name": "fr",
446
+ "url": "https://fr.vuejs.org/api/built-in-directives.html#v-if"
447
+ },
448
+ {
449
+ "name": "ko",
450
+ "url": "https://ko.vuejs.org/api/built-in-directives.html#v-if"
451
+ },
452
+ {
453
+ "name": "pt",
454
+ "url": "https://pt.vuejs.org/api/built-in-directives.html#v-if"
455
+ }
456
+ ]
457
+ },
458
+ {
459
+ "name": "v-else",
460
+ "valueSet": "v",
461
+ "description": {
462
+ "kind": "markdown",
463
+ "value": "\nDenota um \"bloco `else`\" para a `v-if` ou para uma cadeia `v-if` / `v-else-if`.\n\n- **Não espera expressões**\n\n- **Detalhes**\n\n - Restrição: o anterior elemento irmão deve ter a `v-if` ou `v-else-if`.\n\n - Pode ser usada no `<template>` para denotar um bloco condicional contendo apenas texto ou vários elementos.\n\n- **Exemplo**\n\n ```html\n <div v-if=\"Math.random() > 0.5\">\n Now you see me\n </div>\n <div v-else>\n Now you don't\n </div>\n ```\n\n- **Consulte também** [Interpretação Condicional - `v-else`](https://pt.vuejs.org/guide/essentials/conditional.html#v-else)\n"
464
+ },
465
+ "references": [
466
+ {
467
+ "name": "en",
468
+ "url": "https://vuejs.org/api/built-in-directives.html#v-else"
469
+ },
470
+ {
471
+ "name": "zh-cn",
472
+ "url": "https://cn.vuejs.org/api/built-in-directives.html#v-else"
473
+ },
474
+ {
475
+ "name": "ja",
476
+ "url": "https://ja.vuejs.org/api/built-in-directives.html#v-else"
477
+ },
478
+ {
479
+ "name": "ua",
480
+ "url": "https://ua.vuejs.org/api/built-in-directives.html#v-else"
481
+ },
482
+ {
483
+ "name": "fr",
484
+ "url": "https://fr.vuejs.org/api/built-in-directives.html#v-else"
485
+ },
486
+ {
487
+ "name": "ko",
488
+ "url": "https://ko.vuejs.org/api/built-in-directives.html#v-else"
489
+ },
490
+ {
491
+ "name": "pt",
492
+ "url": "https://pt.vuejs.org/api/built-in-directives.html#v-else"
493
+ }
494
+ ]
495
+ },
496
+ {
497
+ "name": "v-else-if",
498
+ "description": {
499
+ "kind": "markdown",
500
+ "value": "\nDenota o \"bloco `else if`\" para a `v-if`. Pode ser encadeada.\n\n- **Espera:** `any`\n\n- **Detalhes**\n\n - Restrição: o anterior elemento irmão deve ter a `v-if` ou `v-else-if`.\n\n - Pode ser usada no `<template>` para denotar um bloco condicional contendo apenas texto ou vários elementos.\n\n- **Exemplo**\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 Not A/B/C\n </div>\n ```\n\n- **Consulte também** [Interpretação Condicional - `v-else-if`](https://pt.vuejs.org/guide/essentials/conditional.html#v-else-if)\n"
501
+ },
502
+ "references": [
503
+ {
504
+ "name": "en",
505
+ "url": "https://vuejs.org/api/built-in-directives.html#v-else-if"
506
+ },
507
+ {
508
+ "name": "zh-cn",
509
+ "url": "https://cn.vuejs.org/api/built-in-directives.html#v-else-if"
510
+ },
511
+ {
512
+ "name": "ja",
513
+ "url": "https://ja.vuejs.org/api/built-in-directives.html#v-else-if"
514
+ },
515
+ {
516
+ "name": "ua",
517
+ "url": "https://ua.vuejs.org/api/built-in-directives.html#v-else-if"
518
+ },
519
+ {
520
+ "name": "fr",
521
+ "url": "https://fr.vuejs.org/api/built-in-directives.html#v-else-if"
522
+ },
523
+ {
524
+ "name": "ko",
525
+ "url": "https://ko.vuejs.org/api/built-in-directives.html#v-else-if"
526
+ },
527
+ {
528
+ "name": "pt",
529
+ "url": "https://pt.vuejs.org/api/built-in-directives.html#v-else-if"
530
+ }
531
+ ]
532
+ },
533
+ {
534
+ "name": "v-for",
535
+ "description": {
536
+ "kind": "markdown",
537
+ "value": "\nInterpreta o elemento ou bloco de modelo de marcação várias vezes baseada na fonte dos dados.\n\n- **Espera:** `Array | Object | number | string | Iterable`\n\n- **Detalhes**\n\n O valor da diretiva deve usar a sintaxe especial `alias in expression` para fornecer um pseudónimo para o elemento atual a ser iterado:\n\n ```html\n <div v-for=\"item in items\">\n {{ item.text }}\n </div>\n ```\n\n Alternativamente, também podemos especificar um pseudónimo para o índice (ou a chave se usada sobre um objeto):\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 O comportamento padrão da `v-for` tentará remendar os elementos no lugar sem movê-los. Para forçar a reordenação de elementos, devemos fornecer uma sugestão de ordenação com o atributo especial `key`:\n\n ```html\n <div v-for=\"item in items\" :key=\"item.id\">\n {{ item.text }}\n </div>\n ```\n\n `v-for` também pode trabalhar com valores que implementam o [Protocolo Iterável](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols#The_iterable_protocol), incluindo os `Map` e `Set` nativos.\n\n- **Consulte também**\n - [Interpretação de Lista](https://pt.vuejs.org/guide/essentials/list.html)\n"
538
+ },
539
+ "references": [
540
+ {
541
+ "name": "en",
542
+ "url": "https://vuejs.org/api/built-in-directives.html#v-for"
543
+ },
544
+ {
545
+ "name": "zh-cn",
546
+ "url": "https://cn.vuejs.org/api/built-in-directives.html#v-for"
547
+ },
548
+ {
549
+ "name": "ja",
550
+ "url": "https://ja.vuejs.org/api/built-in-directives.html#v-for"
551
+ },
552
+ {
553
+ "name": "ua",
554
+ "url": "https://ua.vuejs.org/api/built-in-directives.html#v-for"
555
+ },
556
+ {
557
+ "name": "fr",
558
+ "url": "https://fr.vuejs.org/api/built-in-directives.html#v-for"
559
+ },
560
+ {
561
+ "name": "ko",
562
+ "url": "https://ko.vuejs.org/api/built-in-directives.html#v-for"
563
+ },
564
+ {
565
+ "name": "pt",
566
+ "url": "https://pt.vuejs.org/api/built-in-directives.html#v-for"
567
+ }
568
+ ]
569
+ },
570
+ {
571
+ "name": "v-on",
572
+ "description": {
573
+ "kind": "markdown",
574
+ "value": "\nAnexa um ouvinte de evento ao elemento.\n\n- **Atalho:** `@`\n\n- **Espera:** `Function | Inline Statement | Object (sem argumento)`\n\n- **Argumento:** `event` (opcional se estivermos usando a sintaxe de Objeto)\n\n- **Modificadores**\n\n - `.stop` - chama `event.stopPropagation()`.\n - `.prevent` - chama `event.preventDefault()`.\n - `.capture` - adiciona ouvinte de evento no modo de captura.\n - `.self` - apenas aciona o manipulador se o evento fosse despachado a partir deste elemento.\n - `.{keyAlias}` - apenas aciona o manipulador sobre certas teclas.\n - `.once` - aciona o manipulador no máximo uma vez.\n - `.left` - apenas aciona o manipulador para os eventos de rato do botão esquerdo.\n - `.right` - apenas aciona o manipulador para os eventos de rato do botão direito.\n - `.middle` - apenas aciona o manipulador para os eventos de rato do botão do meio.\n - `.passive` - anexa um evento de DOM com `{ passive: true }`.\n\n- **Detalhes**\n\n O tipo de evento é denotado pelo argumento. A expressão pode ser um nome de método, uma declaração em linha, ou omitida se existirem modificadores presentes.\n\n Quando usada num elemento normal, apenas ouve os [**eventos de DOM nativos**](https://developer.mozilla.org/en-US/docs/Web/Events). Quando usada num componente de elemento personalizado, ouve os **eventos personalizados** emitidos sobre este componente filho.\n\n Quando ouvimos os eventos de DOM nativos, o método recebe o evento nativo como único argumento. Se usarmos a declaração em linha, a declaração tem acesso à propriedade `$event` especial: `v-on:click=\"handle('ok', $event)\"`.\n\n `v-on` também suporta vínculo a um objeto de pares de evento / ouvinte sem um argumento. Nota que quando usamos a sintaxe de objeto, esta não suporta quaisquer modificadores.\n\n- **Exemplo**\n\n ```html\n <!-- manipulador de método -->\n <button v-on:click=\"doThis\"></button>\n\n <!-- evento dinâmico -->\n <button v-on:[event]=\"doThis\"></button>\n\n <!-- declaração em linha -->\n <button v-on:click=\"doThat('hello', $event)\"></button>\n\n <!-- atalho -->\n <button @click=\"doThis\"></button>\n\n <!-- atalho de evento dinâmico -->\n <button @[event]=\"doThis\"></button>\n\n <!-- parar propagação -->\n <button @click.stop=\"doThis\"></button>\n\n <!-- impedir o padrão -->\n <button @click.prevent=\"doThis\"></button>\n\n <!-- impedir o padrão sem expressão -->\n <form @submit.prevent></form>\n\n <!-- encadear modificadores -->\n <button @click.stop.prevent=\"doThis\"></button>\n\n <!-- modificador de tecla usando pseudónimo de tecla -->\n <input @keyup.enter=\"onEnter\" />\n\n <!-- o evento de clique será acionado no máximo uma vez -->\n <button v-on:click.once=\"doThis\"></button>\n\n <!-- sintaxe de objeto -->\n <button v-on=\"{ mousedown: doThis, mouseup: doThat }\"></button>\n ```\n\n Ouvindo eventos personalizados dum componente filho (o manipulador é chamado quando \"my-event\" é emitido sobre o filho):\n\n ```html\n <MyComponent @my-event=\"handleThis\" />\n\n <!-- declaração em linha -->\n <MyComponent @my-event=\"handleThis(123, $event)\" />\n ```\n\n- **Consulte também**\n - [Manipulação de Eventos](https://pt.vuejs.org/guide/essentials/event-handling.html)\n - [Componentes - Eventos Personalizados](https://pt.vuejs.org/guide/essentials/component-basics.html#listening-to-events)\n"
575
+ },
576
+ "references": [
577
+ {
578
+ "name": "en",
579
+ "url": "https://vuejs.org/api/built-in-directives.html#v-on"
580
+ },
581
+ {
582
+ "name": "zh-cn",
583
+ "url": "https://cn.vuejs.org/api/built-in-directives.html#v-on"
584
+ },
585
+ {
586
+ "name": "ja",
587
+ "url": "https://ja.vuejs.org/api/built-in-directives.html#v-on"
588
+ },
589
+ {
590
+ "name": "ua",
591
+ "url": "https://ua.vuejs.org/api/built-in-directives.html#v-on"
592
+ },
593
+ {
594
+ "name": "fr",
595
+ "url": "https://fr.vuejs.org/api/built-in-directives.html#v-on"
596
+ },
597
+ {
598
+ "name": "ko",
599
+ "url": "https://ko.vuejs.org/api/built-in-directives.html#v-on"
600
+ },
601
+ {
602
+ "name": "pt",
603
+ "url": "https://pt.vuejs.org/api/built-in-directives.html#v-on"
604
+ }
605
+ ]
606
+ },
607
+ {
608
+ "name": "v-bind",
609
+ "description": {
610
+ "kind": "markdown",
611
+ "value": "\nVincula dinamicamente um ou mais atributos, ou uma propriedade de componente à uma expressão.\n\n- **Atalho:** `:` ou `.` (quando usamos o modificador `.prop`)\n\n- **Espera:** `any (com argumento) | Object (sem argumento)`\n\n- **Argumento:** `attrOrProp (opcional)`\n\n- **Modificadores**\n\n - `.camel` - transforma o nome de atributo em caixa de espetada em caixa de camelo.\n - `.prop` - força um vínculo à ser definido como uma propriedade do DOM. <sup class=\"vt-badge\">3.2+</sup>\n - `.attr` - força um vínculo à ser definido como um atributo de DOM. <sup class=\"vt-badge\">3.2+</sup>\n\n- **Uso**\n\n Quando usada para vincular o atributo `class` ou `style`, `v-bind` suporta tipos de valores adicionar como Vetor ou Objeto. Consulte a seção do guia ligado abaixo por mais detalhes.\n\n Quando definimos um vínculo num elemento, a Vue por padrão verifica se o elemento tem a chave definida como uma propriedade usando uma verificação do operador `in`. Se a propriedade for definida, a Vue definirá o valor como uma propriedade de DOM ao invés dum atributo. Isto deve funciona na maioria dos casos, mas podemos sobrepor este comportamento ao usar explicitamente os modificadores `.prop` ou `.attr`. Isto é algumas vezes necessário, especialmente quando [trabalhamos com elementos personalizados](https://pt.vuejs.org/guide/extras/web-components.html#passing-dom-properties).\n\n Quando usada para vínculos de propriedade de componente, a propriedade deve ser declarada apropriadamente no componente filho.\n\n Quando usada sem um argumento, pode ser usada para vincular um objeto contendo pares de nome-valor de atributo.\n\n- **Exemplo**\n\n ```html\n <!-- vincular um atributo -->\n <img v-bind:src=\"imageSrc\" />\n\n <!-- nome de atributo dinâmico -->\n <button v-bind:[key]=\"value\"></button>\n\n <!-- atalho -->\n <img :src=\"imageSrc\" />\n\n <!-- atalho de nome de atributo dinâmico -->\n <button :[key]=\"value\"></button>\n\n <!-- com concatenação de sequência de caracteres em linha -->\n <img :src=\"'/path/to/images/' + fileName\" />\n\n <!-- vínculos de classe -->\n <div :class=\"{ red: isRed }\"></div>\n <div :class=\"[classA, classB]\"></div>\n <div :class=\"[classA, { classB: isB, classC: isC }]\"></div>\n\n <!-- vínculos de estilo -->\n <div :style=\"{ fontSize: size + 'px' }\"></div>\n <div :style=\"[styleObjectA, styleObjectB]\"></div>\n\n <!-- vincular um objeto de atributos -->\n <div v-bind=\"{ id: someProp, 'other-attr': otherProp }\"></div>\n\n <!-- vincular propriedades. \"prop\" deve ser declarada no componente filho. -->\n <MyComponent :prop=\"someThing\" />\n\n <!-- passar as propriedades do pai em comum com um componente filho -->\n <MyComponent v-bind=\"$props\" />\n\n <!-- XLink -->\n <svg><a :xlink:special=\"foo\"></a></svg>\n ```\n\n O modificador `.prop` também tem um atalho dedicado `.`:\n\n ```html\n <div :someProperty.prop=\"someObject\"></div>\n\n <!-- equivalente a -->\n <div .someProperty=\"someObject\"></div>\n ```\n\n O modificador `.camel` permite a camelização dum nome de atributo de `v-bind` quando usamos modelos de marcação no DOM, por exemplo o atributo `viewBox` de SVG:\n\n ```html\n <svg :view-box.camel=\"viewBox\"></svg>\n ```\n\n `.camel` não é necessário se estivermos a usar modelos de marcação de sequência de caracteres, pré-compilar o modelo de marcação com uma etapa de construção.\n\n- **Consulte também**\n - [Vínculos de Classe e Estilo](https://pt.vuejs.org/guide/essentials/class-and-style.html)\n - [Componentes - Detalhes da Passagem de Propriedade](https://pt.vuejs.org/guide/components/props.html#prop-passing-details)\n"
612
+ },
613
+ "references": [
614
+ {
615
+ "name": "en",
616
+ "url": "https://vuejs.org/api/built-in-directives.html#v-bind"
617
+ },
618
+ {
619
+ "name": "zh-cn",
620
+ "url": "https://cn.vuejs.org/api/built-in-directives.html#v-bind"
621
+ },
622
+ {
623
+ "name": "ja",
624
+ "url": "https://ja.vuejs.org/api/built-in-directives.html#v-bind"
625
+ },
626
+ {
627
+ "name": "ua",
628
+ "url": "https://ua.vuejs.org/api/built-in-directives.html#v-bind"
629
+ },
630
+ {
631
+ "name": "fr",
632
+ "url": "https://fr.vuejs.org/api/built-in-directives.html#v-bind"
633
+ },
634
+ {
635
+ "name": "ko",
636
+ "url": "https://ko.vuejs.org/api/built-in-directives.html#v-bind"
637
+ },
638
+ {
639
+ "name": "pt",
640
+ "url": "https://pt.vuejs.org/api/built-in-directives.html#v-bind"
641
+ }
642
+ ]
643
+ },
644
+ {
645
+ "name": "v-model",
646
+ "description": {
647
+ "kind": "markdown",
648
+ "value": "\nCria um vínculo bidirecional num elemento de entrada de formulário ou um componente.\n\n- **Espera:** variar baseado no valor do elemento de entradas de formulário ou na saída de componentes\n\n- **Limitado a:**\n\n - `<input>`\n - `<select>`\n - `<textarea>`\n - componentes\n\n- **Modificadores**\n\n - [`.lazy`](https://pt.vuejs.org/guide/essentials/forms.html#lazy) - ouve os eventos de `change` ao invés de `input`\n - [`.number`](https://pt.vuejs.org/guide/essentials/forms.html#number) - converte uma sequência de caracteres de entrada válida em números.\n - [`.trim`](https://pt.vuejs.org/guide/essentials/forms.html#trim) - apara a entrada\n\n- **Consulte também**\n\n - [Vínculos de Entrada de Formulário](https://pt.vuejs.org/guide/essentials/forms.html)\n - [Eventos de Componente - Uso com `v-model`](https://pt.vuejs.org/guide/components/v-model.html)\n"
649
+ },
650
+ "references": [
651
+ {
652
+ "name": "en",
653
+ "url": "https://vuejs.org/api/built-in-directives.html#v-model"
654
+ },
655
+ {
656
+ "name": "zh-cn",
657
+ "url": "https://cn.vuejs.org/api/built-in-directives.html#v-model"
658
+ },
659
+ {
660
+ "name": "ja",
661
+ "url": "https://ja.vuejs.org/api/built-in-directives.html#v-model"
662
+ },
663
+ {
664
+ "name": "ua",
665
+ "url": "https://ua.vuejs.org/api/built-in-directives.html#v-model"
666
+ },
667
+ {
668
+ "name": "fr",
669
+ "url": "https://fr.vuejs.org/api/built-in-directives.html#v-model"
670
+ },
671
+ {
672
+ "name": "ko",
673
+ "url": "https://ko.vuejs.org/api/built-in-directives.html#v-model"
674
+ },
675
+ {
676
+ "name": "pt",
677
+ "url": "https://pt.vuejs.org/api/built-in-directives.html#v-model"
678
+ }
679
+ ]
680
+ },
681
+ {
682
+ "name": "v-slot",
683
+ "description": {
684
+ "kind": "markdown",
685
+ "value": "\nDenota ranhuras nomeadas ou ranhuras isoladas que esperam receber propriedades.\n\n- **Atalho:** `#`\n\n- **Espera:** expressão de JavaScript que é válido numa posição de argumento de função, incluindo suporte para desestruturação. Opcional - apenas necessário se esperamos propriedades serem passadas para a ranhura.\n\n- **Argumento:** nome da ranhura (opcional, predefinido para `default`)\n\n- **Limitado a:**\n\n - `<template>`\n - [componentes](https://pt.vuejs.org/guide/components/slots.html#scoped-slots) (para única ranhura padrão com propriedades)\n\n- **Exemplo**\n\n ```html\n <!-- Ranhuras nomeadas -->\n <BaseLayout>\n <template v-slot:header>\n Header content\n </template>\n\n <template v-slot:default>\n Default slot content\n </template>\n\n <template v-slot:footer>\n Footer content\n </template>\n </BaseLayout>\n\n <!-- Ranhura nomeada que recebe propriedades -->\n <InfiniteScroll>\n <template v-slot:item=\"slotProps\">\n <div class=\"item\">\n {{ slotProps.item.text }}\n </div>\n </template>\n </InfiniteScroll>\n\n <!-- Ranhura padrão que recebe propriedades, com desestruturação -->\n <Mouse v-slot=\"{ x, y }\">\n Mouse position: {{ x }}, {{ y }}\n </Mouse>\n ```\n\n- **Consulte também**\n - [Componentes - Ranhuras](https://pt.vuejs.org/guide/components/slots.html)\n"
686
+ },
687
+ "references": [
688
+ {
689
+ "name": "en",
690
+ "url": "https://vuejs.org/api/built-in-directives.html#v-slot"
691
+ },
692
+ {
693
+ "name": "zh-cn",
694
+ "url": "https://cn.vuejs.org/api/built-in-directives.html#v-slot"
695
+ },
696
+ {
697
+ "name": "ja",
698
+ "url": "https://ja.vuejs.org/api/built-in-directives.html#v-slot"
699
+ },
700
+ {
701
+ "name": "ua",
702
+ "url": "https://ua.vuejs.org/api/built-in-directives.html#v-slot"
703
+ },
704
+ {
705
+ "name": "fr",
706
+ "url": "https://fr.vuejs.org/api/built-in-directives.html#v-slot"
707
+ },
708
+ {
709
+ "name": "ko",
710
+ "url": "https://ko.vuejs.org/api/built-in-directives.html#v-slot"
711
+ },
712
+ {
713
+ "name": "pt",
714
+ "url": "https://pt.vuejs.org/api/built-in-directives.html#v-slot"
715
+ }
716
+ ]
717
+ },
718
+ {
719
+ "name": "v-pre",
720
+ "description": {
721
+ "kind": "markdown",
722
+ "value": "\nIgnora a compilação para este elemento e todos os seus filhos.\n\n- **Não espera expressão**\n\n- **Detalhes**\n\n Dentro do elemento com `v-pre`, toda a sintaxe de modelo de marcação da Vue será preservada e desenhada como está. O caso de uso mais comum disto é a exibição de marcadores de bigodes puros.\n\n- **Exemplo**\n\n ```html\n <span v-pre>{{ this will not be compiled }}</span>\n ```\n"
723
+ },
724
+ "references": [
725
+ {
726
+ "name": "en",
727
+ "url": "https://vuejs.org/api/built-in-directives.html#v-pre"
728
+ },
729
+ {
730
+ "name": "zh-cn",
731
+ "url": "https://cn.vuejs.org/api/built-in-directives.html#v-pre"
732
+ },
733
+ {
734
+ "name": "ja",
735
+ "url": "https://ja.vuejs.org/api/built-in-directives.html#v-pre"
736
+ },
737
+ {
738
+ "name": "ua",
739
+ "url": "https://ua.vuejs.org/api/built-in-directives.html#v-pre"
740
+ },
741
+ {
742
+ "name": "fr",
743
+ "url": "https://fr.vuejs.org/api/built-in-directives.html#v-pre"
744
+ },
745
+ {
746
+ "name": "ko",
747
+ "url": "https://ko.vuejs.org/api/built-in-directives.html#v-pre"
748
+ },
749
+ {
750
+ "name": "pt",
751
+ "url": "https://pt.vuejs.org/api/built-in-directives.html#v-pre"
752
+ }
753
+ ]
754
+ },
755
+ {
756
+ "name": "v-once",
757
+ "description": {
758
+ "kind": "markdown",
759
+ "value": "\nDesenha o elemento e o componente apenas uma vez, e ignora as futuras atualizações.\n\n- **Não espera expressão**\n\n- **Detalhes**\n\n Nos redesenhos subsequentes, o elemento ou componente e todos os seus filhos serão tratados como conteúdo estático e ignorados. Isto pode ser usado para otimizar o desempenho da atualização.\n\n ```html\n <!-- elemento único -->\n <span v-once>This will never change: {{msg}}</span>\n <!-- o elemento tem filhos -->\n <div v-once>\n <h1>comment</h1>\n <p>{{msg}}</p>\n </div>\n <!-- componente -->\n <MyComponent v-once :comment=\"msg\"></MyComponent>\n <!-- diretiva `v-for` -->\n <ul>\n <li v-for=\"i in list\" v-once>{{i}}</li>\n </ul>\n ```\n\n Desde a 3.2, também podemos memorizar parte do modelo de marcação com condições de invalidação usando a [`v-memo`](#v-memo).\n\n- **Consulte também**\n - [Sintaxe de Vínculo de Dados - Interpolações](https://pt.vuejs.org/guide/essentials/template-syntax.html#text-interpolation)\n - [`v-memo`](#v-memo)\n"
760
+ },
761
+ "references": [
762
+ {
763
+ "name": "en",
764
+ "url": "https://vuejs.org/api/built-in-directives.html#v-once"
765
+ },
766
+ {
767
+ "name": "zh-cn",
768
+ "url": "https://cn.vuejs.org/api/built-in-directives.html#v-once"
769
+ },
770
+ {
771
+ "name": "ja",
772
+ "url": "https://ja.vuejs.org/api/built-in-directives.html#v-once"
773
+ },
774
+ {
775
+ "name": "ua",
776
+ "url": "https://ua.vuejs.org/api/built-in-directives.html#v-once"
777
+ },
778
+ {
779
+ "name": "fr",
780
+ "url": "https://fr.vuejs.org/api/built-in-directives.html#v-once"
781
+ },
782
+ {
783
+ "name": "ko",
784
+ "url": "https://ko.vuejs.org/api/built-in-directives.html#v-once"
785
+ },
786
+ {
787
+ "name": "pt",
788
+ "url": "https://pt.vuejs.org/api/built-in-directives.html#v-once"
789
+ }
790
+ ]
791
+ },
792
+ {
793
+ "name": "v-memo",
794
+ "description": {
795
+ "kind": "markdown",
796
+ "value": "\n- **Espera:** `any[]`\n\n- **Detalhes**\n\n Memoriza uma sub-árvore do modelo de marcação. Pode ser usada em ambos elementos e componentes. A diretiva espera um vetor de valores de dependência de comprimento fixo à comparar para a memorização. Se todos os valores no vetor fossem os mesmos que os da última interpretação, então as atualizações para a sub-árvore inteira serão ignoradas. Por exemplo:\n\n ```html\n <div v-memo=\"[valueA, valueB]\">\n ...\n </div>\n ```\n\n Quando o componente redesenha-se, se ambos `valueA` e `valueB` continuarem os mesmos, todas as atualizações para este `<div>` e seus filhos serão ignoradas. De fato, mesmo a criação nó virtual do DOM virtual também será ignorada uma vez que a cópia memorizada da sub-árvore pode ser usada novamente.\n\n É importante especificar o vetor de memorização corretamente, de outro modo podemos ignorar atualizações que deveriam de fato ser aplicadas. `v-memo` com um vetor de dependência vazio (`v-memo=\"[]\"`) seria funcionalmente equivalente à `v-once`.\n\n **Uso com `v-for`**\n\n `v-memo` é fornecida exclusivamente para micro otimizações em cenários de desempenho crítico e deveriam ser raramente necessários. O caso de uso mais comum onde isto pode ser útil é quando desenhamos grandes listas `v-for` (onde `length > 1000`):\n\n ```html\n <div v-for=\"item in list\" :key=\"item.id\" v-memo=\"[item.id === selected]\">\n <p>ID: {{ item.id }} - selected: {{ item.id === selected }}</p>\n <p>...more child nodes</p>\n </div>\n ```\n\n Quando o estado `selected` do componente mudar, será criada uma grande quantidade de nós virtuais, embora a maioria dos itens permaneça exatamente igual. O uso de `v-memo` neste contexto está essencialmente a dizer \"apenas atualize este item se tiver passado de não selecionado para selecionado, ou o contrário\". Isto permite que todos os itens não afetados reusarem seus anteriores nós virtuais e ignorar a diferenciação inteiramente. Nota que não precisamos incluir `item.id` no vetor de dependência da `v-memo` neste contexto, uma vez que a Vue atualmente a infere a partir da `:key` do item.\n\n :::warning AVISO\n Quando usamos a `v-memo` com a `v-for`, devemos certificar-nos que são usados no mesmo elemento. **`v-memo` não funciona dentro da `v-for`**.\n :::\n\n `v-memo` também pode ser usada nos componentes para manualmente impedir atualizações indesejadas em certos casos extremos onde a verificação da atualização do componente filho não foi otimizado. Mas novamente, é responsabilidade do programador especificar os vetores de dependência correta para evitar ignorar atualizações necessárias.\n\n- **Consulte também**\n - [`v-once`](#v-once)\n"
797
+ },
798
+ "references": [
799
+ {
800
+ "name": "en",
801
+ "url": "https://vuejs.org/api/built-in-directives.html#v-memo"
802
+ },
803
+ {
804
+ "name": "zh-cn",
805
+ "url": "https://cn.vuejs.org/api/built-in-directives.html#v-memo"
806
+ },
807
+ {
808
+ "name": "ja",
809
+ "url": "https://ja.vuejs.org/api/built-in-directives.html#v-memo"
810
+ },
811
+ {
812
+ "name": "ua",
813
+ "url": "https://ua.vuejs.org/api/built-in-directives.html#v-memo"
814
+ },
815
+ {
816
+ "name": "fr",
817
+ "url": "https://fr.vuejs.org/api/built-in-directives.html#v-memo"
818
+ },
819
+ {
820
+ "name": "ko",
821
+ "url": "https://ko.vuejs.org/api/built-in-directives.html#v-memo"
822
+ },
823
+ {
824
+ "name": "pt",
825
+ "url": "https://pt.vuejs.org/api/built-in-directives.html#v-memo"
826
+ }
827
+ ]
828
+ },
829
+ {
830
+ "name": "v-cloak",
831
+ "description": {
832
+ "kind": "markdown",
833
+ "value": "\nUsada para esconder o modelo de marcação que ainda não foi compilado até que estiver pronto.\n\n- **Não espera expressão**\n\n- **Detalhes**\n\n **Esta diretiva apenas é necessária nas configurações sem etapa de construção.**\n\n Quando usamos os modelos de marcação no DOM, pode existir um \"piscar de modelos de marcação não compilados\": o utilizador pode ver os marcadores de bigodes puros até o componente montado substituí-los com componente desenhado.\n\n `v-cloak` permanecerá no elemento até que a instância do componente associado for montada. Combinada com as regras de CSS como `[v-cloak] { display: none }`, pode ser usada para esconder os modelos de marcação puros até o componente estiver pronto.\n\n- **Exemplo**\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 O `<div>` não será visível até que a compilação estiver concluída.\n"
834
+ },
835
+ "references": [
836
+ {
837
+ "name": "en",
838
+ "url": "https://vuejs.org/api/built-in-directives.html#v-cloak"
839
+ },
840
+ {
841
+ "name": "zh-cn",
842
+ "url": "https://cn.vuejs.org/api/built-in-directives.html#v-cloak"
843
+ },
844
+ {
845
+ "name": "ja",
846
+ "url": "https://ja.vuejs.org/api/built-in-directives.html#v-cloak"
847
+ },
848
+ {
849
+ "name": "ua",
850
+ "url": "https://ua.vuejs.org/api/built-in-directives.html#v-cloak"
851
+ },
852
+ {
853
+ "name": "fr",
854
+ "url": "https://fr.vuejs.org/api/built-in-directives.html#v-cloak"
855
+ },
856
+ {
857
+ "name": "ko",
858
+ "url": "https://ko.vuejs.org/api/built-in-directives.html#v-cloak"
859
+ },
860
+ {
861
+ "name": "pt",
862
+ "url": "https://pt.vuejs.org/api/built-in-directives.html#v-cloak"
863
+ }
864
+ ]
865
+ },
866
+ {
867
+ "name": "key",
868
+ "description": {
869
+ "kind": "markdown",
870
+ "value": "\nO atributo especial `key` é usado principalmente como uma dica para o algoritmo de DOM virtual do Vue identificar vnodes ao comparar a nova lista de nós com a velha lista.\n\n- **Espera:** `number | string | symbol`\n\n- **Detalhes**\n\n Sem as chaves, Vue usa um algoritmo que minimiza a movimentação de elementos e tenta corrigir/reusar elementos do mesmo tipo no local, tanto quanto possível. Com chaves, ele reordenará elementos com base na alteração da ordem das chaves, e os elementos com chaves que não estão mais presentes sempre serão removidos/destruídos.\n\n Filhos do mesmo pai comum devem ter **chaves únicas**. Chaves duplicadas causarão erros de apresentação.\n\n O caso de uso mais comum é combinado com `v-for`:\n\n ```html\n <ul>\n <li v-for=\"item in items\" :key=\"item.id\">...</li>\n </ul>\n ```\n\n Também pode ser usado para forçar a substituição de um elemento/componente em vez de reutilizá-lo. Isso pode ser útil quando você deseja:\n\n - Acionar corretamente gatilhos de ciclo de vida de um componente\n - Acionar transições\n\n Por exemplo:\n\n ```html\n <transition>\n <span :key=\"text\">{{ text }}</span>\n </transition>\n ```\n\n Quando `text` mudar, o `<span>` sempre será substituído ao invés de alterado, então uma transição será acionada.\n\n- **Veja também:** [Guia - Interpretação de Lista - Mantendo o Estado com `key`](https://pt.vuejs.org/guide/essentials/list.html#maintaining-state-with-key)\n"
871
+ },
872
+ "references": [
873
+ {
874
+ "name": "en",
875
+ "url": "https://vuejs.org/api/built-in-special-attributes.html#key"
876
+ },
877
+ {
878
+ "name": "zh-cn",
879
+ "url": "https://cn.vuejs.org/api/built-in-special-attributes.html#key"
880
+ },
881
+ {
882
+ "name": "ja",
883
+ "url": "https://ja.vuejs.org/api/built-in-special-attributes.html#key"
884
+ },
885
+ {
886
+ "name": "ua",
887
+ "url": "https://ua.vuejs.org/api/built-in-special-attributes.html#key"
888
+ },
889
+ {
890
+ "name": "fr",
891
+ "url": "https://fr.vuejs.org/api/built-in-special-attributes.html#key"
892
+ },
893
+ {
894
+ "name": "ko",
895
+ "url": "https://ko.vuejs.org/api/built-in-special-attributes.html#key"
896
+ },
897
+ {
898
+ "name": "pt",
899
+ "url": "https://pt.vuejs.org/api/built-in-special-attributes.html#key"
900
+ }
901
+ ]
902
+ },
903
+ {
904
+ "name": "ref",
905
+ "description": {
906
+ "kind": "markdown",
907
+ "value": "\nDenota uma [referência do modelo de marcação](https://pt.vuejs.org/guide/essentials/template-refs.html).\n\n- **Espera:** `string | Function`\n\n- **Detalhes**\n\n `ref` é usado para registrar uma referência a um elemento ou a um componente filho.\n\n Na API de Opções, a referência será registrada sob o objeto `this.$refs` do componente:\n\n ```html\n <!-- armazenado como this.$refs.p -->\n <p ref=\"p\">hello</p>\n ```\n\n Na API de Composição, a referência será armazenada em uma ref com o nome compatível:\n\n ```vue\n <script setup>\n import { ref } from 'vue'\n\n const p = ref()\n </script>\n\n <template>\n <p ref=\"p\">hello</p>\n </template>\n ```\n\n Se usado em um elemento DOM simples, a referência será aquele elemento; se usado em um componente filho, a referência será a instância do componente filho.\n\n Alternativamente `ref` pode aceitar um valor de função que fornece controle total de onde armazenar a referência:\n\n ```html\n <ChildComponent :ref=\"(el) => child = el\" />\n ```\n\n Uma nota importante sobre o tempo de registro de ref: como refs são criadas pelo resultado de uma função _render_, você deve aguardar até que o componente seja montado antes de acessá-las.\n\n `this.$refs` não é reativo, portanto você não deve tentar usar em modelos para vincular dados.\n\n- **Veja também:**\n - [Guia - Referências do Modelo de Marcação](https://pt.vuejs.org/guide/essentials/template-refs.html)\n - [Guia - Atribuindo Tipos as Referências do Modelo de Marcação](https://pt.vuejs.org/guide/typescript/composition-api.html#typing-template-refs) <sup class=\"vt-badge ts\" />\n - [Guia - Tipos as Referências do Modelo de Marcação de Componente](https://pt.vuejs.org/guide/typescript/composition-api.html#typing-component-template-refs) <sup class=\"vt-badge ts\" />\n"
908
+ },
909
+ "references": [
910
+ {
911
+ "name": "en",
912
+ "url": "https://vuejs.org/api/built-in-special-attributes.html#ref"
913
+ },
914
+ {
915
+ "name": "zh-cn",
916
+ "url": "https://cn.vuejs.org/api/built-in-special-attributes.html#ref"
917
+ },
918
+ {
919
+ "name": "ja",
920
+ "url": "https://ja.vuejs.org/api/built-in-special-attributes.html#ref"
921
+ },
922
+ {
923
+ "name": "ua",
924
+ "url": "https://ua.vuejs.org/api/built-in-special-attributes.html#ref"
925
+ },
926
+ {
927
+ "name": "fr",
928
+ "url": "https://fr.vuejs.org/api/built-in-special-attributes.html#ref"
929
+ },
930
+ {
931
+ "name": "ko",
932
+ "url": "https://ko.vuejs.org/api/built-in-special-attributes.html#ref"
933
+ },
934
+ {
935
+ "name": "pt",
936
+ "url": "https://pt.vuejs.org/api/built-in-special-attributes.html#ref"
937
+ }
938
+ ]
939
+ },
940
+ {
941
+ "name": "is",
942
+ "description": {
943
+ "kind": "markdown",
944
+ "value": "\nUsado para vincular [componentes dinâmicos](https://pt.vuejs.org/guide/essentials/component-basics.html#dynamic-components).\n\n- **Espera:** `string | Component`\n\n- **Uso em elementos nativos** <sup class=\"vt-badge\">3.1+</sup>\n\n Quando o atributo `is` é usado em um elemento HTML nativo, ele será interpretado como um [Elemento embutido personalizado](https://html.spec.whatwg.org/multipage/custom-elements.html#custom-elements-customized-builtin-example), que é um recurso nativo da plataforma web.\n\n Há, no entanto, um caso de uso em que você pode precisar do Vue para substituir um elemento nativo por um componente Vue, conforme explicado em [Advertências de Analise de Modelo de Marcação de DOM](https://pt.vuejs.org/guide/essentials/component-basics.html#dom-template-parsing-caveats). Você pode prefixar o valor do atributo `is` com o atributo `vue:` para que o Vue apresente o elemento como um componente Vue:\n\n ```html\n <table>\n <tr is=\"vue:my-row-component\"></tr>\n </table>\n ```\n\n- **Veja também:**\n\n - [Elementos Especiais Embutidos - `<component>`](https://pt.vuejs.org/api/built-in-special-elements.html#component)\n - [Componentes Dinâmicos](https://pt.vuejs.org/guide/essentials/component-basics.html#dynamic-components)\n"
945
+ },
946
+ "references": [
947
+ {
948
+ "name": "en",
949
+ "url": "https://vuejs.org/api/built-in-special-attributes.html#is"
950
+ },
951
+ {
952
+ "name": "zh-cn",
953
+ "url": "https://cn.vuejs.org/api/built-in-special-attributes.html#is"
954
+ },
955
+ {
956
+ "name": "ja",
957
+ "url": "https://ja.vuejs.org/api/built-in-special-attributes.html#is"
958
+ },
959
+ {
960
+ "name": "ua",
961
+ "url": "https://ua.vuejs.org/api/built-in-special-attributes.html#is"
962
+ },
963
+ {
964
+ "name": "fr",
965
+ "url": "https://fr.vuejs.org/api/built-in-special-attributes.html#is"
966
+ },
967
+ {
968
+ "name": "ko",
969
+ "url": "https://ko.vuejs.org/api/built-in-special-attributes.html#is"
970
+ },
971
+ {
972
+ "name": "pt",
973
+ "url": "https://pt.vuejs.org/api/built-in-special-attributes.html#is"
974
+ }
975
+ ]
976
+ }
977
+ ]
978
+ }