@vue/language-service 2.1.10 → 2.2.2

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 (53) hide show
  1. package/data/language-blocks/cs.json +29 -930
  2. package/data/language-blocks/en.json +28 -929
  3. package/data/language-blocks/fr.json +28 -929
  4. package/data/language-blocks/it.json +28 -929
  5. package/data/language-blocks/ja.json +28 -929
  6. package/data/language-blocks/ko.json +28 -929
  7. package/data/language-blocks/pt.json +28 -929
  8. package/data/language-blocks/ru.json +28 -929
  9. package/data/language-blocks/zh-cn.json +30 -931
  10. package/data/language-blocks/zh-hk.json +28 -929
  11. package/data/locale.json +54 -0
  12. package/data/model-modifiers/cs.json +6 -165
  13. package/data/model-modifiers/en.json +6 -165
  14. package/data/model-modifiers/fr.json +6 -165
  15. package/data/model-modifiers/it.json +6 -165
  16. package/data/model-modifiers/ja.json +6 -165
  17. package/data/model-modifiers/ko.json +6 -165
  18. package/data/model-modifiers/pt.json +6 -165
  19. package/data/model-modifiers/ru.json +6 -165
  20. package/data/model-modifiers/zh-cn.json +6 -165
  21. package/data/model-modifiers/zh-hk.json +6 -165
  22. package/data/template/cs.json +59 -1429
  23. package/data/template/en.json +52 -1422
  24. package/data/template/fr.json +55 -1425
  25. package/data/template/it.json +49 -1427
  26. package/data/template/ja.json +53 -1423
  27. package/data/template/ko.json +44 -1422
  28. package/data/template/pt.json +44 -1422
  29. package/data/template/ru.json +52 -1422
  30. package/data/template/zh-cn.json +53 -1423
  31. package/data/template/zh-hk.json +44 -1422
  32. package/index.d.ts +2 -2
  33. package/index.js +14 -10
  34. package/lib/ideFeatures/nameCasing.js +15 -17
  35. package/lib/plugins/data.js +47 -20
  36. package/lib/plugins/utils.d.ts +3 -0
  37. package/lib/plugins/utils.js +14 -0
  38. package/lib/plugins/vue-autoinsert-dotvalue.d.ts +0 -9
  39. package/lib/plugins/vue-autoinsert-dotvalue.js +37 -53
  40. package/lib/plugins/vue-autoinsert-space.js +1 -1
  41. package/lib/plugins/vue-complete-define-assignment.js +14 -16
  42. package/lib/plugins/vue-directive-comments.js +10 -8
  43. package/lib/plugins/vue-document-drop.js +16 -13
  44. package/lib/plugins/vue-document-links.js +45 -39
  45. package/lib/plugins/vue-extract-file.d.ts +2 -1
  46. package/lib/plugins/vue-extract-file.js +29 -15
  47. package/lib/plugins/vue-inlayhints.d.ts +2 -2
  48. package/lib/plugins/vue-inlayhints.js +65 -56
  49. package/lib/plugins/vue-sfc.js +29 -27
  50. package/lib/plugins/vue-template.js +223 -201
  51. package/lib/plugins/vue-twoslash-queries.js +9 -4
  52. package/package.json +12 -11
  53. package/scripts/update-html-data.js +74 -70
@@ -8,60 +8,7 @@
8
8
  "value": "\nProvides animated transition effects to a **single** element or component.\n\n- **Props**\n\n ```ts\n interface TransitionProps {\n /**\n * Used to automatically generate transition CSS class names.\n * e.g. `name: 'fade'` will auto expand to `.fade-enter`,\n * `.fade-enter-active`, etc.\n */\n name?: string\n /**\n * Whether to apply CSS transition classes.\n * Default: true\n */\n css?: boolean\n /**\n * Specifies the type of transition events to wait for to\n * determine transition end timing.\n * Default behavior is auto detecting the type that has\n * longer duration.\n */\n type?: 'transition' | 'animation'\n /**\n * Specifies explicit durations of the transition.\n * Default behavior is wait for the first `transitionend`\n * or `animationend` event on the root transition element.\n */\n duration?: number | { enter: number; leave: number }\n /**\n * Controls the timing sequence of leaving/entering transitions.\n * Default behavior is simultaneous.\n */\n mode?: 'in-out' | 'out-in' | 'default'\n /**\n * Whether to apply transition on initial render.\n * Default: false\n */\n appear?: boolean\n\n /**\n * Props for customizing transition classes.\n * Use kebab-case in templates, e.g. 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- **Events**\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` (`v-show` only)\n - `@appear-cancelled`\n\n- **Example**\n\n Simple element:\n\n ```html\n <Transition>\n <div v-if=\"ok\">toggled content</div>\n </Transition>\n ```\n\n Forcing a transition by changing the `key` attribute:\n\n ```html\n <Transition>\n <div :key=\"text\">{{ text }}</div>\n </Transition>\n ```\n\n Dynamic component, with transition mode + animate on appear:\n\n ```html\n <Transition name=\"fade\" mode=\"out-in\" appear>\n <component :is=\"view\"></component>\n </Transition>\n ```\n\n Listening to transition events:\n\n ```html\n <Transition @after-enter=\"onTransitionComplete\">\n <div v-show=\"ok\">toggled content</div>\n </Transition>\n ```\n\n- **See also** [Guide - Transition](https://vuejs.org/guide/built-ins/transition.html)\n"
9
9
  },
10
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": "zh-hk",
22
- "url": "https://zh-hk.vuejs.org/api/built-in-components.html#transition"
23
- },
24
- {
25
- "name": "ja",
26
- "url": "https://ja.vuejs.org/api/built-in-components.html#transition"
27
- },
28
- {
29
- "name": "ua",
30
- "url": "https://ua.vuejs.org/api/built-in-components.html#transition"
31
- },
32
- {
33
- "name": "fr",
34
- "url": "https://fr.vuejs.org/api/built-in-components.html#transition"
35
- },
36
- {
37
- "name": "ko",
38
- "url": "https://ko.vuejs.org/api/built-in-components.html#transition"
39
- },
40
- {
41
- "name": "pt",
42
- "url": "https://pt.vuejs.org/api/built-in-components.html#transition"
43
- },
44
- {
45
- "name": "bn",
46
- "url": "https://bn.vuejs.org/api/built-in-components.html#transition"
47
- },
48
- {
49
- "name": "it",
50
- "url": "https://it.vuejs.org/api/built-in-components.html#transition"
51
- },
52
- {
53
- "name": "cs",
54
- "url": "https://cs.vuejs.org/api/built-in-components.html#transition"
55
- },
56
- {
57
- "name": "ru",
58
- "url": "https://ru.vuejs.org/api/built-in-components.html#transition"
59
- },
60
- {
61
- "name": "fa",
62
- "url": "https://fa.vuejs.org/api/built-in-components.html#transition"
63
- }
64
- ]
11
+ "references": "api/built-in-components.html#transition"
65
12
  },
66
13
  {
67
14
  "name": "TransitionGroup",
@@ -70,60 +17,7 @@
70
17
  "value": "\nProvides transition effects for **multiple** elements or components in a list.\n\n- **Props**\n\n `<TransitionGroup>` accepts the same props as `<Transition>` except `mode`, plus two additional props:\n\n ```ts\n interface TransitionGroupProps extends Omit<TransitionProps, 'mode'> {\n /**\n * If not defined, renders as a fragment.\n */\n tag?: string\n /**\n * For customizing the CSS class applied during move transitions.\n * Use kebab-case in templates, e.g. move-class=\"xxx\"\n */\n moveClass?: string\n }\n ```\n\n- **Events**\n\n `<TransitionGroup>` emits the same events as `<Transition>`.\n\n- **Details**\n\n By default, `<TransitionGroup>` doesn't render a wrapper DOM element, but one can be defined via the `tag` prop.\n\n Note that every child in a `<transition-group>` must be [**uniquely keyed**](https://vuejs.org/guide/essentials/list.html#maintaining-state-with-key) for the animations to work properly.\n\n `<TransitionGroup>` supports moving transitions via CSS transform. When a child's position on screen has changed after an update, it will get applied a moving CSS class (auto generated from the `name` attribute or configured with the `move-class` prop). If the CSS `transform` property is \"transition-able\" when the moving class is applied, the element will be smoothly animated to its destination using the [FLIP technique](https://aerotwist.com/blog/flip-your-animations/).\n\n- **Example**\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- **See also** [Guide - TransitionGroup](https://vuejs.org/guide/built-ins/transition-group.html)\n"
71
18
  },
72
19
  "attributes": [],
73
- "references": [
74
- {
75
- "name": "en",
76
- "url": "https://vuejs.org/api/built-in-components.html#transitiongroup"
77
- },
78
- {
79
- "name": "zh-cn",
80
- "url": "https://cn.vuejs.org/api/built-in-components.html#transitiongroup"
81
- },
82
- {
83
- "name": "zh-hk",
84
- "url": "https://zh-hk.vuejs.org/api/built-in-components.html#transitiongroup"
85
- },
86
- {
87
- "name": "ja",
88
- "url": "https://ja.vuejs.org/api/built-in-components.html#transitiongroup"
89
- },
90
- {
91
- "name": "ua",
92
- "url": "https://ua.vuejs.org/api/built-in-components.html#transitiongroup"
93
- },
94
- {
95
- "name": "fr",
96
- "url": "https://fr.vuejs.org/api/built-in-components.html#transitiongroup"
97
- },
98
- {
99
- "name": "ko",
100
- "url": "https://ko.vuejs.org/api/built-in-components.html#transitiongroup"
101
- },
102
- {
103
- "name": "pt",
104
- "url": "https://pt.vuejs.org/api/built-in-components.html#transitiongroup"
105
- },
106
- {
107
- "name": "bn",
108
- "url": "https://bn.vuejs.org/api/built-in-components.html#transitiongroup"
109
- },
110
- {
111
- "name": "it",
112
- "url": "https://it.vuejs.org/api/built-in-components.html#transitiongroup"
113
- },
114
- {
115
- "name": "cs",
116
- "url": "https://cs.vuejs.org/api/built-in-components.html#transitiongroup"
117
- },
118
- {
119
- "name": "ru",
120
- "url": "https://ru.vuejs.org/api/built-in-components.html#transitiongroup"
121
- },
122
- {
123
- "name": "fa",
124
- "url": "https://fa.vuejs.org/api/built-in-components.html#transitiongroup"
125
- }
126
- ]
20
+ "references": "api/built-in-components.html#transitiongroup"
127
21
  },
128
22
  {
129
23
  "name": "KeepAlive",
@@ -132,60 +26,7 @@
132
26
  "value": "\nCaches dynamically toggled components wrapped inside.\n\n- **Props**\n\n ```ts\n interface KeepAliveProps {\n /**\n * If specified, only components with names matched by\n * `include` will be cached.\n */\n include?: MatchPattern\n /**\n * Any component with a name matched by `exclude` will\n * not be cached.\n */\n exclude?: MatchPattern\n /**\n * The maximum number of component instances to cache.\n */\n max?: number | string\n }\n\n type MatchPattern = string | RegExp | (string | RegExp)[]\n ```\n\n- **Details**\n\n When wrapped around a dynamic component, `<KeepAlive>` caches the inactive component instances without destroying them.\n\n There can only be one active component instance as the direct child of `<KeepAlive>` at any time.\n\n When a component is toggled inside `<KeepAlive>`, its `activated` and `deactivated` lifecycle hooks will be invoked accordingly, providing an alternative to `mounted` and `unmounted`, which are not called. This applies to the direct child of `<KeepAlive>` as well as to all of its descendants.\n\n- **Example**\n\n Basic usage:\n\n ```html\n <KeepAlive>\n <component :is=\"view\"></component>\n </KeepAlive>\n ```\n\n When used with `v-if` / `v-else` branches, there must be only one component rendered at a time:\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 Used together with `<Transition>`:\n\n ```html\n <Transition>\n <KeepAlive>\n <component :is=\"view\"></component>\n </KeepAlive>\n </Transition>\n ```\n\n Using `include` / `exclude`:\n\n ```html\n <!-- comma-delimited string -->\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 <!-- Array (use `v-bind`) -->\n <KeepAlive :include=\"['a', 'b']\">\n <component :is=\"view\"></component>\n </KeepAlive>\n ```\n\n Usage with `max`:\n\n ```html\n <KeepAlive :max=\"10\">\n <component :is=\"view\"></component>\n </KeepAlive>\n ```\n\n- **See also** [Guide - KeepAlive](https://vuejs.org/guide/built-ins/keep-alive.html)\n"
133
27
  },
134
28
  "attributes": [],
135
- "references": [
136
- {
137
- "name": "en",
138
- "url": "https://vuejs.org/api/built-in-components.html#keepalive"
139
- },
140
- {
141
- "name": "zh-cn",
142
- "url": "https://cn.vuejs.org/api/built-in-components.html#keepalive"
143
- },
144
- {
145
- "name": "zh-hk",
146
- "url": "https://zh-hk.vuejs.org/api/built-in-components.html#keepalive"
147
- },
148
- {
149
- "name": "ja",
150
- "url": "https://ja.vuejs.org/api/built-in-components.html#keepalive"
151
- },
152
- {
153
- "name": "ua",
154
- "url": "https://ua.vuejs.org/api/built-in-components.html#keepalive"
155
- },
156
- {
157
- "name": "fr",
158
- "url": "https://fr.vuejs.org/api/built-in-components.html#keepalive"
159
- },
160
- {
161
- "name": "ko",
162
- "url": "https://ko.vuejs.org/api/built-in-components.html#keepalive"
163
- },
164
- {
165
- "name": "pt",
166
- "url": "https://pt.vuejs.org/api/built-in-components.html#keepalive"
167
- },
168
- {
169
- "name": "bn",
170
- "url": "https://bn.vuejs.org/api/built-in-components.html#keepalive"
171
- },
172
- {
173
- "name": "it",
174
- "url": "https://it.vuejs.org/api/built-in-components.html#keepalive"
175
- },
176
- {
177
- "name": "cs",
178
- "url": "https://cs.vuejs.org/api/built-in-components.html#keepalive"
179
- },
180
- {
181
- "name": "ru",
182
- "url": "https://ru.vuejs.org/api/built-in-components.html#keepalive"
183
- },
184
- {
185
- "name": "fa",
186
- "url": "https://fa.vuejs.org/api/built-in-components.html#keepalive"
187
- }
188
- ]
29
+ "references": "api/built-in-components.html#keepalive"
189
30
  },
190
31
  {
191
32
  "name": "Teleport",
@@ -194,60 +35,7 @@
194
35
  "value": "\nRenders its slot content to another part of the DOM.\n\n- **Props**\n\n ```ts\n interface TeleportProps {\n /**\n * Required. Specify target container.\n * Can either be a selector or an actual element.\n */\n to: string | HTMLElement\n /**\n * When `true`, the content will remain in its original\n * location instead of moved into the target container.\n * Can be changed dynamically.\n */\n disabled?: boolean\n /**\n * When `true`, the Teleport will defer until other\n * parts of the application have been mounted before\n * resolving its target. (3.5+)\n */\n defer?: boolean\n }\n ```\n\n- **Example**\n\n Specifying target container:\n\n ```html\n <Teleport to=\"#some-id\" />\n <Teleport to=\".some-class\" />\n <Teleport to=\"[data-teleport]\" />\n ```\n\n Conditionally disabling:\n\n ```html\n <Teleport to=\"#popup\" :disabled=\"displayVideoInline\">\n <video src=\"./my-movie.mp4\">\n </Teleport>\n ```\n\n Defer target resolution <sup class=\"vt-badge\" data-text=\"3.5+\" />:\n\n ```html\n <Teleport defer to=\"#late-div\">...</Teleport>\n\n <!-- somewhere later in the template -->\n <div id=\"late-div\"></div>\n ```\n\n- **See also** [Guide - Teleport](https://vuejs.org/guide/built-ins/teleport.html)\n"
195
36
  },
196
37
  "attributes": [],
197
- "references": [
198
- {
199
- "name": "en",
200
- "url": "https://vuejs.org/api/built-in-components.html#teleport"
201
- },
202
- {
203
- "name": "zh-cn",
204
- "url": "https://cn.vuejs.org/api/built-in-components.html#teleport"
205
- },
206
- {
207
- "name": "zh-hk",
208
- "url": "https://zh-hk.vuejs.org/api/built-in-components.html#teleport"
209
- },
210
- {
211
- "name": "ja",
212
- "url": "https://ja.vuejs.org/api/built-in-components.html#teleport"
213
- },
214
- {
215
- "name": "ua",
216
- "url": "https://ua.vuejs.org/api/built-in-components.html#teleport"
217
- },
218
- {
219
- "name": "fr",
220
- "url": "https://fr.vuejs.org/api/built-in-components.html#teleport"
221
- },
222
- {
223
- "name": "ko",
224
- "url": "https://ko.vuejs.org/api/built-in-components.html#teleport"
225
- },
226
- {
227
- "name": "pt",
228
- "url": "https://pt.vuejs.org/api/built-in-components.html#teleport"
229
- },
230
- {
231
- "name": "bn",
232
- "url": "https://bn.vuejs.org/api/built-in-components.html#teleport"
233
- },
234
- {
235
- "name": "it",
236
- "url": "https://it.vuejs.org/api/built-in-components.html#teleport"
237
- },
238
- {
239
- "name": "cs",
240
- "url": "https://cs.vuejs.org/api/built-in-components.html#teleport"
241
- },
242
- {
243
- "name": "ru",
244
- "url": "https://ru.vuejs.org/api/built-in-components.html#teleport"
245
- },
246
- {
247
- "name": "fa",
248
- "url": "https://fa.vuejs.org/api/built-in-components.html#teleport"
249
- }
250
- ]
38
+ "references": "api/built-in-components.html#teleport"
251
39
  },
252
40
  {
253
41
  "name": "Suspense",
@@ -256,60 +44,7 @@
256
44
  "value": "\nUsed for orchestrating nested async dependencies in a component tree.\n\n- **Props**\n\n ```ts\n interface SuspenseProps {\n timeout?: string | number\n suspensible?: boolean\n }\n ```\n\n- **Events**\n\n - `@resolve`\n - `@pending`\n - `@fallback`\n\n- **Details**\n\n `<Suspense>` accepts two slots: the `#default` slot and the `#fallback` slot. It will display the content of the fallback slot while rendering the default slot in memory.\n\n If it encounters async dependencies ([Async Components](https://vuejs.org/guide/components/async.html) and components with [`async setup()`](https://vuejs.org/guide/built-ins/suspense.html#async-setup)) while rendering the default slot, it will wait until all of them are resolved before displaying the default slot.\n\n By setting the Suspense as `suspensible`, all the async dependency handling will be handled by the parent Suspense. See [implementation details](https://github.com/vuejs/core/pull/6736)\n\n- **See also** [Guide - Suspense](https://vuejs.org/guide/built-ins/suspense.html)\n"
257
45
  },
258
46
  "attributes": [],
259
- "references": [
260
- {
261
- "name": "en",
262
- "url": "https://vuejs.org/api/built-in-components.html#suspense"
263
- },
264
- {
265
- "name": "zh-cn",
266
- "url": "https://cn.vuejs.org/api/built-in-components.html#suspense"
267
- },
268
- {
269
- "name": "zh-hk",
270
- "url": "https://zh-hk.vuejs.org/api/built-in-components.html#suspense"
271
- },
272
- {
273
- "name": "ja",
274
- "url": "https://ja.vuejs.org/api/built-in-components.html#suspense"
275
- },
276
- {
277
- "name": "ua",
278
- "url": "https://ua.vuejs.org/api/built-in-components.html#suspense"
279
- },
280
- {
281
- "name": "fr",
282
- "url": "https://fr.vuejs.org/api/built-in-components.html#suspense"
283
- },
284
- {
285
- "name": "ko",
286
- "url": "https://ko.vuejs.org/api/built-in-components.html#suspense"
287
- },
288
- {
289
- "name": "pt",
290
- "url": "https://pt.vuejs.org/api/built-in-components.html#suspense"
291
- },
292
- {
293
- "name": "bn",
294
- "url": "https://bn.vuejs.org/api/built-in-components.html#suspense"
295
- },
296
- {
297
- "name": "it",
298
- "url": "https://it.vuejs.org/api/built-in-components.html#suspense"
299
- },
300
- {
301
- "name": "cs",
302
- "url": "https://cs.vuejs.org/api/built-in-components.html#suspense"
303
- },
304
- {
305
- "name": "ru",
306
- "url": "https://ru.vuejs.org/api/built-in-components.html#suspense"
307
- },
308
- {
309
- "name": "fa",
310
- "url": "https://fa.vuejs.org/api/built-in-components.html#suspense"
311
- }
312
- ]
47
+ "references": "api/built-in-components.html#suspense"
313
48
  },
314
49
  {
315
50
  "name": "component",
@@ -318,60 +53,7 @@
318
53
  "value": "\nA \"meta component\" for rendering dynamic components or elements.\n\n- **Props**\n\n ```ts\n interface DynamicComponentProps {\n is: string | Component\n }\n ```\n\n- **Details**\n\n The actual component to render is determined by the `is` prop.\n\n - When `is` is a string, it could be either an HTML tag name or a component's registered name.\n\n - Alternatively, `is` can also be directly bound to the definition of a component.\n\n- **Example**\n\n Rendering components by registered name (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 Rendering components by definition (Composition API with `<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 Rendering HTML elements:\n\n ```html\n <component :is=\"href ? 'a' : 'span'\"></component>\n ```\n\n The [built-in components](./built-in-components) can all be passed to `is`, but you must register them if you want to pass them by name. For example:\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 Registration is not required if you pass the component itself to `is` rather than its name, e.g. in `<script setup>`.\n\n If `v-model` is used on a `<component>` tag, the template compiler will expand it to a `modelValue` prop and `update:modelValue` event listener, much like it would for any other component. However, this won't be compatible with native HTML elements, such as `<input>` or `<select>`. As a result, using `v-model` with a dynamically created native element won't work:\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 <!-- This won't work as 'input' is a native HTML element -->\n <component :is=\"tag\" v-model=\"username\" />\n </template>\n ```\n\n In practice, this edge case isn't common as native form fields are typically wrapped in components in real applications. If you do need to use a native element directly then you can split the `v-model` into an attribute and event manually.\n\n- **See also** [Dynamic Components](https://vuejs.org/guide/essentials/component-basics.html#dynamic-components)\n"
319
54
  },
320
55
  "attributes": [],
321
- "references": [
322
- {
323
- "name": "en",
324
- "url": "https://vuejs.org/api/built-in-special-elements.html#component"
325
- },
326
- {
327
- "name": "zh-cn",
328
- "url": "https://cn.vuejs.org/api/built-in-special-elements.html#component"
329
- },
330
- {
331
- "name": "zh-hk",
332
- "url": "https://zh-hk.vuejs.org/api/built-in-special-elements.html#component"
333
- },
334
- {
335
- "name": "ja",
336
- "url": "https://ja.vuejs.org/api/built-in-special-elements.html#component"
337
- },
338
- {
339
- "name": "ua",
340
- "url": "https://ua.vuejs.org/api/built-in-special-elements.html#component"
341
- },
342
- {
343
- "name": "fr",
344
- "url": "https://fr.vuejs.org/api/built-in-special-elements.html#component"
345
- },
346
- {
347
- "name": "ko",
348
- "url": "https://ko.vuejs.org/api/built-in-special-elements.html#component"
349
- },
350
- {
351
- "name": "pt",
352
- "url": "https://pt.vuejs.org/api/built-in-special-elements.html#component"
353
- },
354
- {
355
- "name": "bn",
356
- "url": "https://bn.vuejs.org/api/built-in-special-elements.html#component"
357
- },
358
- {
359
- "name": "it",
360
- "url": "https://it.vuejs.org/api/built-in-special-elements.html#component"
361
- },
362
- {
363
- "name": "cs",
364
- "url": "https://cs.vuejs.org/api/built-in-special-elements.html#component"
365
- },
366
- {
367
- "name": "ru",
368
- "url": "https://ru.vuejs.org/api/built-in-special-elements.html#component"
369
- },
370
- {
371
- "name": "fa",
372
- "url": "https://fa.vuejs.org/api/built-in-special-elements.html#component"
373
- }
374
- ]
56
+ "references": "api/built-in-special-elements.html#component"
375
57
  },
376
58
  {
377
59
  "name": "slot",
@@ -380,60 +62,7 @@
380
62
  "value": "\nDenotes slot content outlets in templates.\n\n- **Props**\n\n ```ts\n interface SlotProps {\n /**\n * Any props passed to <slot> to passed as arguments\n * for scoped slots\n */\n [key: string]: any\n /**\n * Reserved for specifying slot name.\n */\n name?: string\n }\n ```\n\n- **Details**\n\n The `<slot>` element can use the `name` attribute to specify a slot name. When no `name` is specified, it will render the default slot. Additional attributes passed to the slot element will be passed as slot props to the scoped slot defined in the parent.\n\n The element itself will be replaced by its matched slot content.\n\n `<slot>` elements in Vue templates are compiled into JavaScript, so they are not to be confused with [native `<slot>` elements](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/slot).\n\n- **See also** [Component - Slots](https://vuejs.org/guide/components/slots.html)\n"
381
63
  },
382
64
  "attributes": [],
383
- "references": [
384
- {
385
- "name": "en",
386
- "url": "https://vuejs.org/api/built-in-special-elements.html#slot"
387
- },
388
- {
389
- "name": "zh-cn",
390
- "url": "https://cn.vuejs.org/api/built-in-special-elements.html#slot"
391
- },
392
- {
393
- "name": "zh-hk",
394
- "url": "https://zh-hk.vuejs.org/api/built-in-special-elements.html#slot"
395
- },
396
- {
397
- "name": "ja",
398
- "url": "https://ja.vuejs.org/api/built-in-special-elements.html#slot"
399
- },
400
- {
401
- "name": "ua",
402
- "url": "https://ua.vuejs.org/api/built-in-special-elements.html#slot"
403
- },
404
- {
405
- "name": "fr",
406
- "url": "https://fr.vuejs.org/api/built-in-special-elements.html#slot"
407
- },
408
- {
409
- "name": "ko",
410
- "url": "https://ko.vuejs.org/api/built-in-special-elements.html#slot"
411
- },
412
- {
413
- "name": "pt",
414
- "url": "https://pt.vuejs.org/api/built-in-special-elements.html#slot"
415
- },
416
- {
417
- "name": "bn",
418
- "url": "https://bn.vuejs.org/api/built-in-special-elements.html#slot"
419
- },
420
- {
421
- "name": "it",
422
- "url": "https://it.vuejs.org/api/built-in-special-elements.html#slot"
423
- },
424
- {
425
- "name": "cs",
426
- "url": "https://cs.vuejs.org/api/built-in-special-elements.html#slot"
427
- },
428
- {
429
- "name": "ru",
430
- "url": "https://ru.vuejs.org/api/built-in-special-elements.html#slot"
431
- },
432
- {
433
- "name": "fa",
434
- "url": "https://fa.vuejs.org/api/built-in-special-elements.html#slot"
435
- }
436
- ]
65
+ "references": "api/built-in-special-elements.html#slot"
437
66
  },
438
67
  {
439
68
  "name": "template",
@@ -442,60 +71,7 @@
442
71
  "value": "\nThe `<template>` tag is used as a placeholder when we want to use a built-in directive without rendering an element in the DOM.\n\n- **Details**\n\n The special handling for `<template>` is only triggered if it is used with one of these directives:\n\n - `v-if`, `v-else-if`, or `v-else`\n - `v-for`\n - `v-slot`\n\n If none of those directives are present then it will be rendered as a [native `<template>` element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/template) instead.\n\n A `<template>` with a `v-for` can also have a [`key` attribute](https://vuejs.org/api/built-in-special-attributes.html#key). All other attributes and directives will be discarded, as they aren't meaningful without a corresponding element.\n\n Single-file components use a [top-level `<template>` tag](https://vuejs.org/api/sfc-spec.html#language-blocks) to wrap the entire template. That usage is separate from the use of `<template>` described above. That top-level tag is not part of the template itself and doesn't support template syntax, such as directives.\n\n- **See also**\n - [Guide - `v-if` on `<template>`](https://vuejs.org/guide/essentials/conditional.html#v-if-on-template)\n - [Guide - `v-for` on `<template>`](https://vuejs.org/guide/essentials/list.html#v-for-on-template)\n - [Guide - Named slots](https://vuejs.org/guide/components/slots.html#named-slots)\n"
443
72
  },
444
73
  "attributes": [],
445
- "references": [
446
- {
447
- "name": "en",
448
- "url": "https://vuejs.org/api/built-in-special-elements.html#template"
449
- },
450
- {
451
- "name": "zh-cn",
452
- "url": "https://cn.vuejs.org/api/built-in-special-elements.html#template"
453
- },
454
- {
455
- "name": "zh-hk",
456
- "url": "https://zh-hk.vuejs.org/api/built-in-special-elements.html#template"
457
- },
458
- {
459
- "name": "ja",
460
- "url": "https://ja.vuejs.org/api/built-in-special-elements.html#template"
461
- },
462
- {
463
- "name": "ua",
464
- "url": "https://ua.vuejs.org/api/built-in-special-elements.html#template"
465
- },
466
- {
467
- "name": "fr",
468
- "url": "https://fr.vuejs.org/api/built-in-special-elements.html#template"
469
- },
470
- {
471
- "name": "ko",
472
- "url": "https://ko.vuejs.org/api/built-in-special-elements.html#template"
473
- },
474
- {
475
- "name": "pt",
476
- "url": "https://pt.vuejs.org/api/built-in-special-elements.html#template"
477
- },
478
- {
479
- "name": "bn",
480
- "url": "https://bn.vuejs.org/api/built-in-special-elements.html#template"
481
- },
482
- {
483
- "name": "it",
484
- "url": "https://it.vuejs.org/api/built-in-special-elements.html#template"
485
- },
486
- {
487
- "name": "cs",
488
- "url": "https://cs.vuejs.org/api/built-in-special-elements.html#template"
489
- },
490
- {
491
- "name": "ru",
492
- "url": "https://ru.vuejs.org/api/built-in-special-elements.html#template"
493
- },
494
- {
495
- "name": "fa",
496
- "url": "https://fa.vuejs.org/api/built-in-special-elements.html#template"
497
- }
498
- ]
74
+ "references": "api/built-in-special-elements.html#template"
499
75
  }
500
76
  ],
501
77
  "globalAttributes": [
@@ -503,1103 +79,157 @@
503
79
  "name": "v-text",
504
80
  "description": {
505
81
  "kind": "markdown",
506
- "value": "\nUpdate the element's text content.\n\n- **Expects:** `string`\n\n- **Details**\n\n `v-text` works by setting the element's [textContent](https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent) property, so it will overwrite any existing content inside the element. If you need to update the part of `textContent`, you should use [mustache interpolations](https://vuejs.org/guide/essentials/template-syntax.html#text-interpolation) instead.\n\n- **Example**\n\n ```html\n <span v-text=\"msg\"></span>\n <!-- same as -->\n <span>{{msg}}</span>\n ```\n\n- **See also** [Template Syntax - Text Interpolation](https://vuejs.org/guide/essentials/template-syntax.html#text-interpolation)\n"
82
+ "value": "Update the element's text content.\n\n- **Expects:** `string`\n\n- **Details**\n\n `v-text` works by setting the element's [textContent](https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent) property, so it will overwrite any existing content inside the element. If you need to update the part of `textContent`, you should use [mustache interpolations](https://vuejs.org/guide/essentials/template-syntax.html#text-interpolation) instead.\n\n- **Example**\n\n ```html\n <span v-text=\"msg\"></span>\n <!-- same as -->\n <span>{{msg}}</span>\n ```\n\n- **See also** [Template Syntax - Text Interpolation](https://vuejs.org/guide/essentials/template-syntax.html#text-interpolation)"
507
83
  },
508
- "references": [
509
- {
510
- "name": "en",
511
- "url": "https://vuejs.org/api/built-in-directives.html#v-text"
512
- },
513
- {
514
- "name": "zh-cn",
515
- "url": "https://cn.vuejs.org/api/built-in-directives.html#v-text"
516
- },
517
- {
518
- "name": "zh-hk",
519
- "url": "https://zh-hk.vuejs.org/api/built-in-directives.html#v-text"
520
- },
521
- {
522
- "name": "ja",
523
- "url": "https://ja.vuejs.org/api/built-in-directives.html#v-text"
524
- },
525
- {
526
- "name": "ua",
527
- "url": "https://ua.vuejs.org/api/built-in-directives.html#v-text"
528
- },
529
- {
530
- "name": "fr",
531
- "url": "https://fr.vuejs.org/api/built-in-directives.html#v-text"
532
- },
533
- {
534
- "name": "ko",
535
- "url": "https://ko.vuejs.org/api/built-in-directives.html#v-text"
536
- },
537
- {
538
- "name": "pt",
539
- "url": "https://pt.vuejs.org/api/built-in-directives.html#v-text"
540
- },
541
- {
542
- "name": "bn",
543
- "url": "https://bn.vuejs.org/api/built-in-directives.html#v-text"
544
- },
545
- {
546
- "name": "it",
547
- "url": "https://it.vuejs.org/api/built-in-directives.html#v-text"
548
- },
549
- {
550
- "name": "cs",
551
- "url": "https://cs.vuejs.org/api/built-in-directives.html#v-text"
552
- },
553
- {
554
- "name": "ru",
555
- "url": "https://ru.vuejs.org/api/built-in-directives.html#v-text"
556
- },
557
- {
558
- "name": "fa",
559
- "url": "https://fa.vuejs.org/api/built-in-directives.html#v-text"
560
- }
561
- ]
84
+ "references": "api/built-in-directives.html#v-text"
562
85
  },
563
86
  {
564
87
  "name": "v-html",
565
88
  "description": {
566
89
  "kind": "markdown",
567
- "value": "\nUpdate the element's [innerHTML](https://developer.mozilla.org/en-US/docs/Web/API/Element/innerHTML).\n\n- **Expects:** `string`\n\n- **Details**\n\n Contents of `v-html` are inserted as plain HTML - Vue template syntax will not be processed. If you find yourself trying to compose templates using `v-html`, try to rethink the solution by using components instead.\n\n ::: warning Security Note\n Dynamically rendering arbitrary HTML on your website can be very dangerous because it can easily lead to [XSS attacks](https://en.wikipedia.org/wiki/Cross-site_scripting). Only use `v-html` on trusted content and **never** on user-provided content.\n :::\n\n In [Single-File Components](https://vuejs.org/guide/scaling-up/sfc.html), `scoped` styles will not apply to content inside `v-html`, because that HTML is not processed by Vue's template compiler. If you want to target `v-html` content with scoped CSS, you can instead use [CSS modules](./sfc-css-features#css-modules) or an additional, global `<style>` element with a manual scoping strategy such as BEM.\n\n- **Example**\n\n ```html\n <div v-html=\"html\"></div>\n ```\n\n- **See also** [Template Syntax - Raw HTML](https://vuejs.org/guide/essentials/template-syntax.html#raw-html)\n"
90
+ "value": "Update the element's [innerHTML](https://developer.mozilla.org/en-US/docs/Web/API/Element/innerHTML).\n\n- **Expects:** `string`\n\n- **Details**\n\n Contents of `v-html` are inserted as plain HTML - Vue template syntax will not be processed. If you find yourself trying to compose templates using `v-html`, try to rethink the solution by using components instead.\n\n ::: warning Security Note\n Dynamically rendering arbitrary HTML on your website can be very dangerous because it can easily lead to [XSS attacks](https://en.wikipedia.org/wiki/Cross-site_scripting). Only use `v-html` on trusted content and **never** on user-provided content.\n :::\n\n In [Single-File Components](https://vuejs.org/guide/scaling-up/sfc.html), `scoped` styles will not apply to content inside `v-html`, because that HTML is not processed by Vue's template compiler. If you want to target `v-html` content with scoped CSS, you can instead use [CSS modules](./sfc-css-features#css-modules) or an additional, global `<style>` element with a manual scoping strategy such as BEM.\n\n- **Example**\n\n ```html\n <div v-html=\"html\"></div>\n ```\n\n- **See also** [Template Syntax - Raw HTML](https://vuejs.org/guide/essentials/template-syntax.html#raw-html)"
568
91
  },
569
- "references": [
570
- {
571
- "name": "en",
572
- "url": "https://vuejs.org/api/built-in-directives.html#v-html"
573
- },
574
- {
575
- "name": "zh-cn",
576
- "url": "https://cn.vuejs.org/api/built-in-directives.html#v-html"
577
- },
578
- {
579
- "name": "zh-hk",
580
- "url": "https://zh-hk.vuejs.org/api/built-in-directives.html#v-html"
581
- },
582
- {
583
- "name": "ja",
584
- "url": "https://ja.vuejs.org/api/built-in-directives.html#v-html"
585
- },
586
- {
587
- "name": "ua",
588
- "url": "https://ua.vuejs.org/api/built-in-directives.html#v-html"
589
- },
590
- {
591
- "name": "fr",
592
- "url": "https://fr.vuejs.org/api/built-in-directives.html#v-html"
593
- },
594
- {
595
- "name": "ko",
596
- "url": "https://ko.vuejs.org/api/built-in-directives.html#v-html"
597
- },
598
- {
599
- "name": "pt",
600
- "url": "https://pt.vuejs.org/api/built-in-directives.html#v-html"
601
- },
602
- {
603
- "name": "bn",
604
- "url": "https://bn.vuejs.org/api/built-in-directives.html#v-html"
605
- },
606
- {
607
- "name": "it",
608
- "url": "https://it.vuejs.org/api/built-in-directives.html#v-html"
609
- },
610
- {
611
- "name": "cs",
612
- "url": "https://cs.vuejs.org/api/built-in-directives.html#v-html"
613
- },
614
- {
615
- "name": "ru",
616
- "url": "https://ru.vuejs.org/api/built-in-directives.html#v-html"
617
- },
618
- {
619
- "name": "fa",
620
- "url": "https://fa.vuejs.org/api/built-in-directives.html#v-html"
621
- }
622
- ]
92
+ "references": "api/built-in-directives.html#v-html"
623
93
  },
624
94
  {
625
95
  "name": "v-show",
626
96
  "description": {
627
97
  "kind": "markdown",
628
- "value": "\nToggle the element's visibility based on the truthy-ness of the expression value.\n\n- **Expects:** `any`\n\n- **Details**\n\n `v-show` works by setting the `display` CSS property via inline styles, and will try to respect the initial `display` value when the element is visible. It also triggers transitions when its condition changes.\n\n- **See also** [Conditional Rendering - v-show](https://vuejs.org/guide/essentials/conditional.html#v-show)\n"
98
+ "value": "Toggle the element's visibility based on the truthy-ness of the expression value.\n\n- **Expects:** `any`\n\n- **Details**\n\n `v-show` works by setting the `display` CSS property via inline styles, and will try to respect the initial `display` value when the element is visible. It also triggers transitions when its condition changes.\n\n- **See also** [Conditional Rendering - v-show](https://vuejs.org/guide/essentials/conditional.html#v-show)"
629
99
  },
630
- "references": [
631
- {
632
- "name": "en",
633
- "url": "https://vuejs.org/api/built-in-directives.html#v-show"
634
- },
635
- {
636
- "name": "zh-cn",
637
- "url": "https://cn.vuejs.org/api/built-in-directives.html#v-show"
638
- },
639
- {
640
- "name": "zh-hk",
641
- "url": "https://zh-hk.vuejs.org/api/built-in-directives.html#v-show"
642
- },
643
- {
644
- "name": "ja",
645
- "url": "https://ja.vuejs.org/api/built-in-directives.html#v-show"
646
- },
647
- {
648
- "name": "ua",
649
- "url": "https://ua.vuejs.org/api/built-in-directives.html#v-show"
650
- },
651
- {
652
- "name": "fr",
653
- "url": "https://fr.vuejs.org/api/built-in-directives.html#v-show"
654
- },
655
- {
656
- "name": "ko",
657
- "url": "https://ko.vuejs.org/api/built-in-directives.html#v-show"
658
- },
659
- {
660
- "name": "pt",
661
- "url": "https://pt.vuejs.org/api/built-in-directives.html#v-show"
662
- },
663
- {
664
- "name": "bn",
665
- "url": "https://bn.vuejs.org/api/built-in-directives.html#v-show"
666
- },
667
- {
668
- "name": "it",
669
- "url": "https://it.vuejs.org/api/built-in-directives.html#v-show"
670
- },
671
- {
672
- "name": "cs",
673
- "url": "https://cs.vuejs.org/api/built-in-directives.html#v-show"
674
- },
675
- {
676
- "name": "ru",
677
- "url": "https://ru.vuejs.org/api/built-in-directives.html#v-show"
678
- },
679
- {
680
- "name": "fa",
681
- "url": "https://fa.vuejs.org/api/built-in-directives.html#v-show"
682
- }
683
- ]
100
+ "references": "api/built-in-directives.html#v-show"
684
101
  },
685
102
  {
686
103
  "name": "v-if",
687
104
  "description": {
688
105
  "kind": "markdown",
689
- "value": "\nConditionally render an element or a template fragment based on the truthy-ness of the expression value.\n\n- **Expects:** `any`\n\n- **Details**\n\n When a `v-if` element is toggled, the element and its contained directives / components are destroyed and re-constructed. If the initial condition is falsy, then the inner content won't be rendered at all.\n\n Can be used on `<template>` to denote a conditional block containing only text or multiple elements.\n\n This directive triggers transitions when its condition changes.\n\n When used together, `v-if` has a higher priority than `v-for`. We don't recommend using these two directives together on one element — see the [list rendering guide](https://vuejs.org/guide/essentials/list.html#v-for-with-v-if) for details.\n\n- **See also** [Conditional Rendering - v-if](https://vuejs.org/guide/essentials/conditional.html#v-if)\n"
106
+ "value": "Conditionally render an element or a template fragment based on the truthy-ness of the expression value.\n\n- **Expects:** `any`\n\n- **Details**\n\n When a `v-if` element is toggled, the element and its contained directives / components are destroyed and re-constructed. If the initial condition is falsy, then the inner content won't be rendered at all.\n\n Can be used on `<template>` to denote a conditional block containing only text or multiple elements.\n\n This directive triggers transitions when its condition changes.\n\n When used together, `v-if` has a higher priority than `v-for`. We don't recommend using these two directives together on one element — see the [list rendering guide](https://vuejs.org/guide/essentials/list.html#v-for-with-v-if) for details.\n\n- **See also** [Conditional Rendering - v-if](https://vuejs.org/guide/essentials/conditional.html#v-if)"
690
107
  },
691
- "references": [
692
- {
693
- "name": "en",
694
- "url": "https://vuejs.org/api/built-in-directives.html#v-if"
695
- },
696
- {
697
- "name": "zh-cn",
698
- "url": "https://cn.vuejs.org/api/built-in-directives.html#v-if"
699
- },
700
- {
701
- "name": "zh-hk",
702
- "url": "https://zh-hk.vuejs.org/api/built-in-directives.html#v-if"
703
- },
704
- {
705
- "name": "ja",
706
- "url": "https://ja.vuejs.org/api/built-in-directives.html#v-if"
707
- },
708
- {
709
- "name": "ua",
710
- "url": "https://ua.vuejs.org/api/built-in-directives.html#v-if"
711
- },
712
- {
713
- "name": "fr",
714
- "url": "https://fr.vuejs.org/api/built-in-directives.html#v-if"
715
- },
716
- {
717
- "name": "ko",
718
- "url": "https://ko.vuejs.org/api/built-in-directives.html#v-if"
719
- },
720
- {
721
- "name": "pt",
722
- "url": "https://pt.vuejs.org/api/built-in-directives.html#v-if"
723
- },
724
- {
725
- "name": "bn",
726
- "url": "https://bn.vuejs.org/api/built-in-directives.html#v-if"
727
- },
728
- {
729
- "name": "it",
730
- "url": "https://it.vuejs.org/api/built-in-directives.html#v-if"
731
- },
732
- {
733
- "name": "cs",
734
- "url": "https://cs.vuejs.org/api/built-in-directives.html#v-if"
735
- },
736
- {
737
- "name": "ru",
738
- "url": "https://ru.vuejs.org/api/built-in-directives.html#v-if"
739
- },
740
- {
741
- "name": "fa",
742
- "url": "https://fa.vuejs.org/api/built-in-directives.html#v-if"
743
- }
744
- ]
108
+ "references": "api/built-in-directives.html#v-if"
745
109
  },
746
110
  {
747
111
  "name": "v-else",
748
112
  "valueSet": "v",
749
113
  "description": {
750
114
  "kind": "markdown",
751
- "value": "\nDenote the \"else block\" for `v-if` or a `v-if` / `v-else-if` chain.\n\n- **Does not expect expression**\n\n- **Details**\n\n - Restriction: previous sibling element must have `v-if` or `v-else-if`.\n\n - Can be used on `<template>` to denote a conditional block containing only text or multiple elements.\n\n- **Example**\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- **See also** [Conditional Rendering - v-else](https://vuejs.org/guide/essentials/conditional.html#v-else)\n"
115
+ "value": "Denote the \"else block\" for `v-if` or a `v-if` / `v-else-if` chain.\n\n- **Does not expect expression**\n\n- **Details**\n\n - Restriction: previous sibling element must have `v-if` or `v-else-if`.\n\n - Can be used on `<template>` to denote a conditional block containing only text or multiple elements.\n\n- **Example**\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- **See also** [Conditional Rendering - v-else](https://vuejs.org/guide/essentials/conditional.html#v-else)"
752
116
  },
753
- "references": [
754
- {
755
- "name": "en",
756
- "url": "https://vuejs.org/api/built-in-directives.html#v-else"
757
- },
758
- {
759
- "name": "zh-cn",
760
- "url": "https://cn.vuejs.org/api/built-in-directives.html#v-else"
761
- },
762
- {
763
- "name": "zh-hk",
764
- "url": "https://zh-hk.vuejs.org/api/built-in-directives.html#v-else"
765
- },
766
- {
767
- "name": "ja",
768
- "url": "https://ja.vuejs.org/api/built-in-directives.html#v-else"
769
- },
770
- {
771
- "name": "ua",
772
- "url": "https://ua.vuejs.org/api/built-in-directives.html#v-else"
773
- },
774
- {
775
- "name": "fr",
776
- "url": "https://fr.vuejs.org/api/built-in-directives.html#v-else"
777
- },
778
- {
779
- "name": "ko",
780
- "url": "https://ko.vuejs.org/api/built-in-directives.html#v-else"
781
- },
782
- {
783
- "name": "pt",
784
- "url": "https://pt.vuejs.org/api/built-in-directives.html#v-else"
785
- },
786
- {
787
- "name": "bn",
788
- "url": "https://bn.vuejs.org/api/built-in-directives.html#v-else"
789
- },
790
- {
791
- "name": "it",
792
- "url": "https://it.vuejs.org/api/built-in-directives.html#v-else"
793
- },
794
- {
795
- "name": "cs",
796
- "url": "https://cs.vuejs.org/api/built-in-directives.html#v-else"
797
- },
798
- {
799
- "name": "ru",
800
- "url": "https://ru.vuejs.org/api/built-in-directives.html#v-else"
801
- },
802
- {
803
- "name": "fa",
804
- "url": "https://fa.vuejs.org/api/built-in-directives.html#v-else"
805
- }
806
- ]
117
+ "references": "api/built-in-directives.html#v-else"
807
118
  },
808
119
  {
809
120
  "name": "v-else-if",
810
121
  "description": {
811
122
  "kind": "markdown",
812
- "value": "\nDenote the \"else if block\" for `v-if`. Can be chained.\n\n- **Expects:** `any`\n\n- **Details**\n\n - Restriction: previous sibling element must have `v-if` or `v-else-if`.\n\n - Can be used on `<template>` to denote a conditional block containing only text or multiple elements.\n\n- **Example**\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- **See also** [Conditional Rendering - v-else-if](https://vuejs.org/guide/essentials/conditional.html#v-else-if)\n"
123
+ "value": "Denote the \"else if block\" for `v-if`. Can be chained.\n\n- **Expects:** `any`\n\n- **Details**\n\n - Restriction: previous sibling element must have `v-if` or `v-else-if`.\n\n - Can be used on `<template>` to denote a conditional block containing only text or multiple elements.\n\n- **Example**\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- **See also** [Conditional Rendering - v-else-if](https://vuejs.org/guide/essentials/conditional.html#v-else-if)"
813
124
  },
814
- "references": [
815
- {
816
- "name": "en",
817
- "url": "https://vuejs.org/api/built-in-directives.html#v-else-if"
818
- },
819
- {
820
- "name": "zh-cn",
821
- "url": "https://cn.vuejs.org/api/built-in-directives.html#v-else-if"
822
- },
823
- {
824
- "name": "zh-hk",
825
- "url": "https://zh-hk.vuejs.org/api/built-in-directives.html#v-else-if"
826
- },
827
- {
828
- "name": "ja",
829
- "url": "https://ja.vuejs.org/api/built-in-directives.html#v-else-if"
830
- },
831
- {
832
- "name": "ua",
833
- "url": "https://ua.vuejs.org/api/built-in-directives.html#v-else-if"
834
- },
835
- {
836
- "name": "fr",
837
- "url": "https://fr.vuejs.org/api/built-in-directives.html#v-else-if"
838
- },
839
- {
840
- "name": "ko",
841
- "url": "https://ko.vuejs.org/api/built-in-directives.html#v-else-if"
842
- },
843
- {
844
- "name": "pt",
845
- "url": "https://pt.vuejs.org/api/built-in-directives.html#v-else-if"
846
- },
847
- {
848
- "name": "bn",
849
- "url": "https://bn.vuejs.org/api/built-in-directives.html#v-else-if"
850
- },
851
- {
852
- "name": "it",
853
- "url": "https://it.vuejs.org/api/built-in-directives.html#v-else-if"
854
- },
855
- {
856
- "name": "cs",
857
- "url": "https://cs.vuejs.org/api/built-in-directives.html#v-else-if"
858
- },
859
- {
860
- "name": "ru",
861
- "url": "https://ru.vuejs.org/api/built-in-directives.html#v-else-if"
862
- },
863
- {
864
- "name": "fa",
865
- "url": "https://fa.vuejs.org/api/built-in-directives.html#v-else-if"
866
- }
867
- ]
125
+ "references": "api/built-in-directives.html#v-else-if"
868
126
  },
869
127
  {
870
128
  "name": "v-for",
871
129
  "description": {
872
130
  "kind": "markdown",
873
- "value": "\nRender the element or template block multiple times based on the source data.\n\n- **Expects:** `Array | Object | number | string | Iterable`\n\n- **Details**\n\n The directive's value must use the special syntax `alias in expression` to provide an alias for the current element being iterated on:\n\n ```html\n <div v-for=\"item in items\">\n {{ item.text }}\n </div>\n ```\n\n Alternatively, you can also specify an alias for the index (or the key if used on an Object):\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 The default behavior of `v-for` will try to patch the elements in-place without moving them. To force it to reorder elements, you should provide an ordering hint with the `key` special attribute:\n\n ```html\n <div v-for=\"item in items\" :key=\"item.id\">\n {{ item.text }}\n </div>\n ```\n\n `v-for` can also work on values that implement the [Iterable Protocol](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols#The_iterable_protocol), including native `Map` and `Set`.\n\n- **See also**\n - [List Rendering](https://vuejs.org/guide/essentials/list.html)\n"
131
+ "value": "Render the element or template block multiple times based on the source data.\n\n- **Expects:** `Array | Object | number | string | Iterable`\n\n- **Details**\n\n The directive's value must use the special syntax `alias in expression` to provide an alias for the current element being iterated on:\n\n ```html\n <div v-for=\"item in items\">\n {{ item.text }}\n </div>\n ```\n\n Alternatively, you can also specify an alias for the index (or the key if used on an Object):\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 The default behavior of `v-for` will try to patch the elements in-place without moving them. To force it to reorder elements, you should provide an ordering hint with the `key` special attribute:\n\n ```html\n <div v-for=\"item in items\" :key=\"item.id\">\n {{ item.text }}\n </div>\n ```\n\n `v-for` can also work on values that implement the [Iterable Protocol](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols#The_iterable_protocol), including native `Map` and `Set`.\n\n- **See also**\n - [List Rendering](https://vuejs.org/guide/essentials/list.html)"
874
132
  },
875
- "references": [
876
- {
877
- "name": "en",
878
- "url": "https://vuejs.org/api/built-in-directives.html#v-for"
879
- },
880
- {
881
- "name": "zh-cn",
882
- "url": "https://cn.vuejs.org/api/built-in-directives.html#v-for"
883
- },
884
- {
885
- "name": "zh-hk",
886
- "url": "https://zh-hk.vuejs.org/api/built-in-directives.html#v-for"
887
- },
888
- {
889
- "name": "ja",
890
- "url": "https://ja.vuejs.org/api/built-in-directives.html#v-for"
891
- },
892
- {
893
- "name": "ua",
894
- "url": "https://ua.vuejs.org/api/built-in-directives.html#v-for"
895
- },
896
- {
897
- "name": "fr",
898
- "url": "https://fr.vuejs.org/api/built-in-directives.html#v-for"
899
- },
900
- {
901
- "name": "ko",
902
- "url": "https://ko.vuejs.org/api/built-in-directives.html#v-for"
903
- },
904
- {
905
- "name": "pt",
906
- "url": "https://pt.vuejs.org/api/built-in-directives.html#v-for"
907
- },
908
- {
909
- "name": "bn",
910
- "url": "https://bn.vuejs.org/api/built-in-directives.html#v-for"
911
- },
912
- {
913
- "name": "it",
914
- "url": "https://it.vuejs.org/api/built-in-directives.html#v-for"
915
- },
916
- {
917
- "name": "cs",
918
- "url": "https://cs.vuejs.org/api/built-in-directives.html#v-for"
919
- },
920
- {
921
- "name": "ru",
922
- "url": "https://ru.vuejs.org/api/built-in-directives.html#v-for"
923
- },
924
- {
925
- "name": "fa",
926
- "url": "https://fa.vuejs.org/api/built-in-directives.html#v-for"
927
- }
928
- ]
133
+ "references": "api/built-in-directives.html#v-for"
929
134
  },
930
135
  {
931
136
  "name": "v-on",
932
137
  "description": {
933
138
  "kind": "markdown",
934
- "value": "\nAttach an event listener to the element.\n\n- **Shorthand:** `@`\n\n- **Expects:** `Function | Inline Statement | Object (without argument)`\n\n- **Argument:** `event` (optional if using Object syntax)\n\n- **Modifiers**\n\n - `.stop` - call `event.stopPropagation()`.\n - `.prevent` - call `event.preventDefault()`.\n - `.capture` - add event listener in capture mode.\n - `.self` - only trigger handler if event was dispatched from this element.\n - `.{keyAlias}` - only trigger handler on certain keys.\n - `.once` - trigger handler at most once.\n - `.left` - only trigger handler for left button mouse events.\n - `.right` - only trigger handler for right button mouse events.\n - `.middle` - only trigger handler for middle button mouse events.\n - `.passive` - attaches a DOM event with `{ passive: true }`.\n\n- **Details**\n\n The event type is denoted by the argument. The expression can be a method name, an inline statement, or omitted if there are modifiers present.\n\n When used on a normal element, it listens to [**native DOM events**](https://developer.mozilla.org/en-US/docs/Web/Events) only. When used on a custom element component, it listens to **custom events** emitted on that child component.\n\n When listening to native DOM events, the method receives the native event as the only argument. If using inline statement, the statement has access to the special `$event` property: `v-on:click=\"handle('ok', $event)\"`.\n\n `v-on` also supports binding to an object of event / listener pairs without an argument. Note when using the object syntax, it does not support any modifiers.\n\n- **Example**\n\n ```html\n <!-- method handler -->\n <button v-on:click=\"doThis\"></button>\n\n <!-- dynamic event -->\n <button v-on:[event]=\"doThis\"></button>\n\n <!-- inline statement -->\n <button v-on:click=\"doThat('hello', $event)\"></button>\n\n <!-- shorthand -->\n <button @click=\"doThis\"></button>\n\n <!-- shorthand dynamic event -->\n <button @[event]=\"doThis\"></button>\n\n <!-- stop propagation -->\n <button @click.stop=\"doThis\"></button>\n\n <!-- prevent default -->\n <button @click.prevent=\"doThis\"></button>\n\n <!-- prevent default without expression -->\n <form @submit.prevent></form>\n\n <!-- chain modifiers -->\n <button @click.stop.prevent=\"doThis\"></button>\n\n <!-- key modifier using keyAlias -->\n <input @keyup.enter=\"onEnter\" />\n\n <!-- the click event will be triggered at most once -->\n <button v-on:click.once=\"doThis\"></button>\n\n <!-- object syntax -->\n <button v-on=\"{ mousedown: doThis, mouseup: doThat }\"></button>\n ```\n\n Listening to custom events on a child component (the handler is called when \"my-event\" is emitted on the child):\n\n ```html\n <MyComponent @my-event=\"handleThis\" />\n\n <!-- inline statement -->\n <MyComponent @my-event=\"handleThis(123, $event)\" />\n ```\n\n- **See also**\n - [Event Handling](https://vuejs.org/guide/essentials/event-handling.html)\n - [Components - Custom Events](https://vuejs.org/guide/essentials/component-basics.html#listening-to-events)\n"
139
+ "value": "Attach an event listener to the element.\n\n- **Shorthand:** `@`\n\n- **Expects:** `Function | Inline Statement | Object (without argument)`\n\n- **Argument:** `event` (optional if using Object syntax)\n\n- **Modifiers**\n\n - `.stop` - call `event.stopPropagation()`.\n - `.prevent` - call `event.preventDefault()`.\n - `.capture` - add event listener in capture mode.\n - `.self` - only trigger handler if event was dispatched from this element.\n - `.{keyAlias}` - only trigger handler on certain keys.\n - `.once` - trigger handler at most once.\n - `.left` - only trigger handler for left button mouse events.\n - `.right` - only trigger handler for right button mouse events.\n - `.middle` - only trigger handler for middle button mouse events.\n - `.passive` - attaches a DOM event with `{ passive: true }`.\n\n- **Details**\n\n The event type is denoted by the argument. The expression can be a method name, an inline statement, or omitted if there are modifiers present.\n\n When used on a normal element, it listens to [**native DOM events**](https://developer.mozilla.org/en-US/docs/Web/Events) only. When used on a custom element component, it listens to **custom events** emitted on that child component.\n\n When listening to native DOM events, the method receives the native event as the only argument. If using inline statement, the statement has access to the special `$event` property: `v-on:click=\"handle('ok', $event)\"`.\n\n `v-on` also supports binding to an object of event / listener pairs without an argument. Note when using the object syntax, it does not support any modifiers.\n\n- **Example**\n\n ```html\n <!-- method handler -->\n <button v-on:click=\"doThis\"></button>\n\n <!-- dynamic event -->\n <button v-on:[event]=\"doThis\"></button>\n\n <!-- inline statement -->\n <button v-on:click=\"doThat('hello', $event)\"></button>\n\n <!-- shorthand -->\n <button @click=\"doThis\"></button>\n\n <!-- shorthand dynamic event -->\n <button @[event]=\"doThis\"></button>\n\n <!-- stop propagation -->\n <button @click.stop=\"doThis\"></button>\n\n <!-- prevent default -->\n <button @click.prevent=\"doThis\"></button>\n\n <!-- prevent default without expression -->\n <form @submit.prevent></form>\n\n <!-- chain modifiers -->\n <button @click.stop.prevent=\"doThis\"></button>\n\n <!-- key modifier using keyAlias -->\n <input @keyup.enter=\"onEnter\" />\n\n <!-- the click event will be triggered at most once -->\n <button v-on:click.once=\"doThis\"></button>\n\n <!-- object syntax -->\n <button v-on=\"{ mousedown: doThis, mouseup: doThat }\"></button>\n ```\n\n Listening to custom events on a child component (the handler is called when \"my-event\" is emitted on the child):\n\n ```html\n <MyComponent @my-event=\"handleThis\" />\n\n <!-- inline statement -->\n <MyComponent @my-event=\"handleThis(123, $event)\" />\n ```\n\n- **See also**\n - [Event Handling](https://vuejs.org/guide/essentials/event-handling.html)\n - [Components - Custom Events](https://vuejs.org/guide/essentials/component-basics.html#listening-to-events)"
935
140
  },
936
- "references": [
937
- {
938
- "name": "en",
939
- "url": "https://vuejs.org/api/built-in-directives.html#v-on"
940
- },
941
- {
942
- "name": "zh-cn",
943
- "url": "https://cn.vuejs.org/api/built-in-directives.html#v-on"
944
- },
945
- {
946
- "name": "zh-hk",
947
- "url": "https://zh-hk.vuejs.org/api/built-in-directives.html#v-on"
948
- },
949
- {
950
- "name": "ja",
951
- "url": "https://ja.vuejs.org/api/built-in-directives.html#v-on"
952
- },
953
- {
954
- "name": "ua",
955
- "url": "https://ua.vuejs.org/api/built-in-directives.html#v-on"
956
- },
957
- {
958
- "name": "fr",
959
- "url": "https://fr.vuejs.org/api/built-in-directives.html#v-on"
960
- },
961
- {
962
- "name": "ko",
963
- "url": "https://ko.vuejs.org/api/built-in-directives.html#v-on"
964
- },
965
- {
966
- "name": "pt",
967
- "url": "https://pt.vuejs.org/api/built-in-directives.html#v-on"
968
- },
969
- {
970
- "name": "bn",
971
- "url": "https://bn.vuejs.org/api/built-in-directives.html#v-on"
972
- },
973
- {
974
- "name": "it",
975
- "url": "https://it.vuejs.org/api/built-in-directives.html#v-on"
976
- },
977
- {
978
- "name": "cs",
979
- "url": "https://cs.vuejs.org/api/built-in-directives.html#v-on"
980
- },
981
- {
982
- "name": "ru",
983
- "url": "https://ru.vuejs.org/api/built-in-directives.html#v-on"
984
- },
985
- {
986
- "name": "fa",
987
- "url": "https://fa.vuejs.org/api/built-in-directives.html#v-on"
988
- }
989
- ]
141
+ "references": "api/built-in-directives.html#v-on"
990
142
  },
991
143
  {
992
144
  "name": "v-bind",
993
145
  "description": {
994
146
  "kind": "markdown",
995
- "value": "\nDynamically bind one or more attributes, or a component prop to an expression.\n\n- **Shorthand:**\n - `:` or `.` (when using `.prop` modifier)\n - Omitting value (when attribute and bound value has the same name, requires 3.4+)\n\n- **Expects:** `any (with argument) | Object (without argument)`\n\n- **Argument:** `attrOrProp (optional)`\n\n- **Modifiers**\n\n - `.camel` - transform the kebab-case attribute name into camelCase.\n - `.prop` - force a binding to be set as a DOM property (3.2+).\n - `.attr` - force a binding to be set as a DOM attribute (3.2+).\n\n- **Usage**\n\n When used to bind the `class` or `style` attribute, `v-bind` supports additional value types such as Array or Objects. See linked guide section below for more details.\n\n When setting a binding on an element, Vue by default checks whether the element has the key defined as a property using an `in` operator check. If the property is defined, Vue will set the value as a DOM property instead of an attribute. This should work in most cases, but you can override this behavior by explicitly using `.prop` or `.attr` modifiers. This is sometimes necessary, especially when [working with custom elements](https://vuejs.org/guide/extras/web-components.html#passing-dom-properties).\n\n When used for component prop binding, the prop must be properly declared in the child component.\n\n When used without an argument, can be used to bind an object containing attribute name-value pairs.\n\n- **Example**\n\n ```html\n <!-- bind an attribute -->\n <img v-bind:src=\"imageSrc\" />\n\n <!-- dynamic attribute name -->\n <button v-bind:[key]=\"value\"></button>\n\n <!-- shorthand -->\n <img :src=\"imageSrc\" />\n\n <!-- same-name shorthand (3.4+), expands to :src=\"src\" -->\n <img :src />\n\n <!-- shorthand dynamic attribute name -->\n <button :[key]=\"value\"></button>\n\n <!-- with inline string concatenation -->\n <img :src=\"'/path/to/images/' + fileName\" />\n\n <!-- class binding -->\n <div :class=\"{ red: isRed }\"></div>\n <div :class=\"[classA, classB]\"></div>\n <div :class=\"[classA, { classB: isB, classC: isC }]\"></div>\n\n <!-- style binding -->\n <div :style=\"{ fontSize: size + 'px' }\"></div>\n <div :style=\"[styleObjectA, styleObjectB]\"></div>\n\n <!-- binding an object of attributes -->\n <div v-bind=\"{ id: someProp, 'other-attr': otherProp }\"></div>\n\n <!-- prop binding. \"prop\" must be declared in the child component. -->\n <MyComponent :prop=\"someThing\" />\n\n <!-- pass down parent props in common with a child component -->\n <MyComponent v-bind=\"$props\" />\n\n <!-- XLink -->\n <svg><a :xlink:special=\"foo\"></a></svg>\n ```\n\n The `.prop` modifier also has a dedicated shorthand, `.`:\n\n ```html\n <div :someProperty.prop=\"someObject\"></div>\n\n <!-- equivalent to -->\n <div .someProperty=\"someObject\"></div>\n ```\n\n The `.camel` modifier allows camelizing a `v-bind` attribute name when using in-DOM templates, e.g. the SVG `viewBox` attribute:\n\n ```html\n <svg :view-box.camel=\"viewBox\"></svg>\n ```\n\n `.camel` is not needed if you are using string templates, or pre-compiling the template with a build step.\n\n- **See also**\n - [Class and Style Bindings](https://vuejs.org/guide/essentials/class-and-style.html)\n - [Components - Prop Passing Details](https://vuejs.org/guide/components/props.html#prop-passing-details)\n"
147
+ "value": "Dynamically bind one or more attributes, or a component prop to an expression.\n\n- **Shorthand:**\n - `:` or `.` (when using `.prop` modifier)\n - Omitting value (when attribute and bound value has the same name, requires 3.4+)\n\n- **Expects:** `any (with argument) | Object (without argument)`\n\n- **Argument:** `attrOrProp (optional)`\n\n- **Modifiers**\n\n - `.camel` - transform the kebab-case attribute name into camelCase.\n - `.prop` - force a binding to be set as a DOM property (3.2+).\n - `.attr` - force a binding to be set as a DOM attribute (3.2+).\n\n- **Usage**\n\n When used to bind the `class` or `style` attribute, `v-bind` supports additional value types such as Array or Objects. See linked guide section below for more details.\n\n When setting a binding on an element, Vue by default checks whether the element has the key defined as a property using an `in` operator check. If the property is defined, Vue will set the value as a DOM property instead of an attribute. This should work in most cases, but you can override this behavior by explicitly using `.prop` or `.attr` modifiers. This is sometimes necessary, especially when [working with custom elements](https://vuejs.org/guide/extras/web-components.html#passing-dom-properties).\n\n When used for component prop binding, the prop must be properly declared in the child component.\n\n When used without an argument, can be used to bind an object containing attribute name-value pairs.\n\n- **Example**\n\n ```html\n <!-- bind an attribute -->\n <img v-bind:src=\"imageSrc\" />\n\n <!-- dynamic attribute name -->\n <button v-bind:[key]=\"value\"></button>\n\n <!-- shorthand -->\n <img :src=\"imageSrc\" />\n\n <!-- same-name shorthand (3.4+), expands to :src=\"src\" -->\n <img :src />\n\n <!-- shorthand dynamic attribute name -->\n <button :[key]=\"value\"></button>\n\n <!-- with inline string concatenation -->\n <img :src=\"'/path/to/images/' + fileName\" />\n\n <!-- class binding -->\n <div :class=\"{ red: isRed }\"></div>\n <div :class=\"[classA, classB]\"></div>\n <div :class=\"[classA, { classB: isB, classC: isC }]\"></div>\n\n <!-- style binding -->\n <div :style=\"{ fontSize: size + 'px' }\"></div>\n <div :style=\"[styleObjectA, styleObjectB]\"></div>\n\n <!-- binding an object of attributes -->\n <div v-bind=\"{ id: someProp, 'other-attr': otherProp }\"></div>\n\n <!-- prop binding. \"prop\" must be declared in the child component. -->\n <MyComponent :prop=\"someThing\" />\n\n <!-- pass down parent props in common with a child component -->\n <MyComponent v-bind=\"$props\" />\n\n <!-- XLink -->\n <svg><a :xlink:special=\"foo\"></a></svg>\n ```\n\n The `.prop` modifier also has a dedicated shorthand, `.`:\n\n ```html\n <div :someProperty.prop=\"someObject\"></div>\n\n <!-- equivalent to -->\n <div .someProperty=\"someObject\"></div>\n ```\n\n The `.camel` modifier allows camelizing a `v-bind` attribute name when using in-DOM templates, e.g. the SVG `viewBox` attribute:\n\n ```html\n <svg :view-box.camel=\"viewBox\"></svg>\n ```\n\n `.camel` is not needed if you are using string templates, or pre-compiling the template with a build step.\n\n- **See also**\n - [Class and Style Bindings](https://vuejs.org/guide/essentials/class-and-style.html)\n - [Components - Prop Passing Details](https://vuejs.org/guide/components/props.html#prop-passing-details)"
996
148
  },
997
- "references": [
998
- {
999
- "name": "en",
1000
- "url": "https://vuejs.org/api/built-in-directives.html#v-bind"
1001
- },
1002
- {
1003
- "name": "zh-cn",
1004
- "url": "https://cn.vuejs.org/api/built-in-directives.html#v-bind"
1005
- },
1006
- {
1007
- "name": "zh-hk",
1008
- "url": "https://zh-hk.vuejs.org/api/built-in-directives.html#v-bind"
1009
- },
1010
- {
1011
- "name": "ja",
1012
- "url": "https://ja.vuejs.org/api/built-in-directives.html#v-bind"
1013
- },
1014
- {
1015
- "name": "ua",
1016
- "url": "https://ua.vuejs.org/api/built-in-directives.html#v-bind"
1017
- },
1018
- {
1019
- "name": "fr",
1020
- "url": "https://fr.vuejs.org/api/built-in-directives.html#v-bind"
1021
- },
1022
- {
1023
- "name": "ko",
1024
- "url": "https://ko.vuejs.org/api/built-in-directives.html#v-bind"
1025
- },
1026
- {
1027
- "name": "pt",
1028
- "url": "https://pt.vuejs.org/api/built-in-directives.html#v-bind"
1029
- },
1030
- {
1031
- "name": "bn",
1032
- "url": "https://bn.vuejs.org/api/built-in-directives.html#v-bind"
1033
- },
1034
- {
1035
- "name": "it",
1036
- "url": "https://it.vuejs.org/api/built-in-directives.html#v-bind"
1037
- },
1038
- {
1039
- "name": "cs",
1040
- "url": "https://cs.vuejs.org/api/built-in-directives.html#v-bind"
1041
- },
1042
- {
1043
- "name": "ru",
1044
- "url": "https://ru.vuejs.org/api/built-in-directives.html#v-bind"
1045
- },
1046
- {
1047
- "name": "fa",
1048
- "url": "https://fa.vuejs.org/api/built-in-directives.html#v-bind"
1049
- }
1050
- ]
149
+ "references": "api/built-in-directives.html#v-bind"
1051
150
  },
1052
151
  {
1053
152
  "name": "v-model",
1054
153
  "description": {
1055
154
  "kind": "markdown",
1056
- "value": "\nCreate a two-way binding on a form input element or a component.\n\n- **Expects:** varies based on value of form inputs element or output of components\n\n- **Limited to:**\n\n - `<input>`\n - `<select>`\n - `<textarea>`\n - components\n\n- **Modifiers**\n\n - [`.lazy`](https://vuejs.org/guide/essentials/forms.html#lazy) - listen to `change` events instead of `input`\n - [`.number`](https://vuejs.org/guide/essentials/forms.html#number) - cast valid input string to numbers\n - [`.trim`](https://vuejs.org/guide/essentials/forms.html#trim) - trim input\n\n- **See also**\n\n - [Form Input Bindings](https://vuejs.org/guide/essentials/forms.html)\n - [Component Events - Usage with `v-model`](https://vuejs.org/guide/components/v-model.html)\n"
155
+ "value": "Create a two-way binding on a form input element or a component.\n\n- **Expects:** varies based on value of form inputs element or output of components\n\n- **Limited to:**\n\n - `<input>`\n - `<select>`\n - `<textarea>`\n - components\n\n- **Modifiers**\n\n - [`.lazy`](https://vuejs.org/guide/essentials/forms.html#lazy) - listen to `change` events instead of `input`\n - [`.number`](https://vuejs.org/guide/essentials/forms.html#number) - cast valid input string to numbers\n - [`.trim`](https://vuejs.org/guide/essentials/forms.html#trim) - trim input\n\n- **See also**\n\n - [Form Input Bindings](https://vuejs.org/guide/essentials/forms.html)\n - [Component Events - Usage with `v-model`](https://vuejs.org/guide/components/v-model.html)"
1057
156
  },
1058
- "references": [
1059
- {
1060
- "name": "en",
1061
- "url": "https://vuejs.org/api/built-in-directives.html#v-model"
1062
- },
1063
- {
1064
- "name": "zh-cn",
1065
- "url": "https://cn.vuejs.org/api/built-in-directives.html#v-model"
1066
- },
1067
- {
1068
- "name": "zh-hk",
1069
- "url": "https://zh-hk.vuejs.org/api/built-in-directives.html#v-model"
1070
- },
1071
- {
1072
- "name": "ja",
1073
- "url": "https://ja.vuejs.org/api/built-in-directives.html#v-model"
1074
- },
1075
- {
1076
- "name": "ua",
1077
- "url": "https://ua.vuejs.org/api/built-in-directives.html#v-model"
1078
- },
1079
- {
1080
- "name": "fr",
1081
- "url": "https://fr.vuejs.org/api/built-in-directives.html#v-model"
1082
- },
1083
- {
1084
- "name": "ko",
1085
- "url": "https://ko.vuejs.org/api/built-in-directives.html#v-model"
1086
- },
1087
- {
1088
- "name": "pt",
1089
- "url": "https://pt.vuejs.org/api/built-in-directives.html#v-model"
1090
- },
1091
- {
1092
- "name": "bn",
1093
- "url": "https://bn.vuejs.org/api/built-in-directives.html#v-model"
1094
- },
1095
- {
1096
- "name": "it",
1097
- "url": "https://it.vuejs.org/api/built-in-directives.html#v-model"
1098
- },
1099
- {
1100
- "name": "cs",
1101
- "url": "https://cs.vuejs.org/api/built-in-directives.html#v-model"
1102
- },
1103
- {
1104
- "name": "ru",
1105
- "url": "https://ru.vuejs.org/api/built-in-directives.html#v-model"
1106
- },
1107
- {
1108
- "name": "fa",
1109
- "url": "https://fa.vuejs.org/api/built-in-directives.html#v-model"
1110
- }
1111
- ]
157
+ "references": "api/built-in-directives.html#v-model"
1112
158
  },
1113
159
  {
1114
160
  "name": "v-slot",
1115
161
  "description": {
1116
162
  "kind": "markdown",
1117
- "value": "\nDenote named slots or scoped slots that expect to receive props.\n\n- **Shorthand:** `#`\n\n- **Expects:** JavaScript expression that is valid in a function argument position, including support for destructuring. Optional - only needed if expecting props to be passed to the slot.\n\n- **Argument:** slot name (optional, defaults to `default`)\n\n- **Limited to:**\n\n - `<template>`\n - [components](https://vuejs.org/guide/components/slots.html#scoped-slots) (for a lone default slot with props)\n\n- **Example**\n\n ```html\n <!-- Named slots -->\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 <!-- Named slot that receives 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 that receive props, with destructuring -->\n <Mouse v-slot=\"{ x, y }\">\n Mouse position: {{ x }}, {{ y }}\n </Mouse>\n ```\n\n- **See also**\n - [Components - Slots](https://vuejs.org/guide/components/slots.html)\n"
163
+ "value": "Denote named slots or scoped slots that expect to receive props.\n\n- **Shorthand:** `#`\n\n- **Expects:** JavaScript expression that is valid in a function argument position, including support for destructuring. Optional - only needed if expecting props to be passed to the slot.\n\n- **Argument:** slot name (optional, defaults to `default`)\n\n- **Limited to:**\n\n - `<template>`\n - [components](https://vuejs.org/guide/components/slots.html#scoped-slots) (for a lone default slot with props)\n\n- **Example**\n\n ```html\n <!-- Named slots -->\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 <!-- Named slot that receives 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 that receive props, with destructuring -->\n <Mouse v-slot=\"{ x, y }\">\n Mouse position: {{ x }}, {{ y }}\n </Mouse>\n ```\n\n- **See also**\n - [Components - Slots](https://vuejs.org/guide/components/slots.html)"
1118
164
  },
1119
- "references": [
1120
- {
1121
- "name": "en",
1122
- "url": "https://vuejs.org/api/built-in-directives.html#v-slot"
1123
- },
1124
- {
1125
- "name": "zh-cn",
1126
- "url": "https://cn.vuejs.org/api/built-in-directives.html#v-slot"
1127
- },
1128
- {
1129
- "name": "zh-hk",
1130
- "url": "https://zh-hk.vuejs.org/api/built-in-directives.html#v-slot"
1131
- },
1132
- {
1133
- "name": "ja",
1134
- "url": "https://ja.vuejs.org/api/built-in-directives.html#v-slot"
1135
- },
1136
- {
1137
- "name": "ua",
1138
- "url": "https://ua.vuejs.org/api/built-in-directives.html#v-slot"
1139
- },
1140
- {
1141
- "name": "fr",
1142
- "url": "https://fr.vuejs.org/api/built-in-directives.html#v-slot"
1143
- },
1144
- {
1145
- "name": "ko",
1146
- "url": "https://ko.vuejs.org/api/built-in-directives.html#v-slot"
1147
- },
1148
- {
1149
- "name": "pt",
1150
- "url": "https://pt.vuejs.org/api/built-in-directives.html#v-slot"
1151
- },
1152
- {
1153
- "name": "bn",
1154
- "url": "https://bn.vuejs.org/api/built-in-directives.html#v-slot"
1155
- },
1156
- {
1157
- "name": "it",
1158
- "url": "https://it.vuejs.org/api/built-in-directives.html#v-slot"
1159
- },
1160
- {
1161
- "name": "cs",
1162
- "url": "https://cs.vuejs.org/api/built-in-directives.html#v-slot"
1163
- },
1164
- {
1165
- "name": "ru",
1166
- "url": "https://ru.vuejs.org/api/built-in-directives.html#v-slot"
1167
- },
1168
- {
1169
- "name": "fa",
1170
- "url": "https://fa.vuejs.org/api/built-in-directives.html#v-slot"
1171
- }
1172
- ]
165
+ "references": "api/built-in-directives.html#v-slot"
1173
166
  },
1174
167
  {
1175
168
  "name": "v-pre",
1176
169
  "valueSet": "v",
1177
170
  "description": {
1178
171
  "kind": "markdown",
1179
- "value": "\nSkip compilation for this element and all its children.\n\n- **Does not expect expression**\n\n- **Details**\n\n Inside the element with `v-pre`, all Vue template syntax will be preserved and rendered as-is. The most common use case of this is displaying raw mustache tags.\n\n- **Example**\n\n ```html\n <span v-pre>{{ this will not be compiled }}</span>\n ```\n"
172
+ "value": "Skip compilation for this element and all its children.\n\n- **Does not expect expression**\n\n- **Details**\n\n Inside the element with `v-pre`, all Vue template syntax will be preserved and rendered as-is. The most common use case of this is displaying raw mustache tags.\n\n- **Example**\n\n ```html\n <span v-pre>{{ this will not be compiled }}</span>\n ```"
1180
173
  },
1181
- "references": [
1182
- {
1183
- "name": "en",
1184
- "url": "https://vuejs.org/api/built-in-directives.html#v-pre"
1185
- },
1186
- {
1187
- "name": "zh-cn",
1188
- "url": "https://cn.vuejs.org/api/built-in-directives.html#v-pre"
1189
- },
1190
- {
1191
- "name": "zh-hk",
1192
- "url": "https://zh-hk.vuejs.org/api/built-in-directives.html#v-pre"
1193
- },
1194
- {
1195
- "name": "ja",
1196
- "url": "https://ja.vuejs.org/api/built-in-directives.html#v-pre"
1197
- },
1198
- {
1199
- "name": "ua",
1200
- "url": "https://ua.vuejs.org/api/built-in-directives.html#v-pre"
1201
- },
1202
- {
1203
- "name": "fr",
1204
- "url": "https://fr.vuejs.org/api/built-in-directives.html#v-pre"
1205
- },
1206
- {
1207
- "name": "ko",
1208
- "url": "https://ko.vuejs.org/api/built-in-directives.html#v-pre"
1209
- },
1210
- {
1211
- "name": "pt",
1212
- "url": "https://pt.vuejs.org/api/built-in-directives.html#v-pre"
1213
- },
1214
- {
1215
- "name": "bn",
1216
- "url": "https://bn.vuejs.org/api/built-in-directives.html#v-pre"
1217
- },
1218
- {
1219
- "name": "it",
1220
- "url": "https://it.vuejs.org/api/built-in-directives.html#v-pre"
1221
- },
1222
- {
1223
- "name": "cs",
1224
- "url": "https://cs.vuejs.org/api/built-in-directives.html#v-pre"
1225
- },
1226
- {
1227
- "name": "ru",
1228
- "url": "https://ru.vuejs.org/api/built-in-directives.html#v-pre"
1229
- },
1230
- {
1231
- "name": "fa",
1232
- "url": "https://fa.vuejs.org/api/built-in-directives.html#v-pre"
1233
- }
1234
- ]
174
+ "references": "api/built-in-directives.html#v-pre"
1235
175
  },
1236
176
  {
1237
177
  "name": "v-once",
1238
178
  "valueSet": "v",
1239
179
  "description": {
1240
180
  "kind": "markdown",
1241
- "value": "\nRender the element and component once only, and skip future updates.\n\n- **Does not expect expression**\n\n- **Details**\n\n On subsequent re-renders, the element/component and all its children will be treated as static content and skipped. This can be used to optimize update performance.\n\n ```html\n <!-- single element -->\n <span v-once>This will never change: {{msg}}</span>\n <!-- the element have children -->\n <div v-once>\n <h1>Comment</h1>\n <p>{{msg}}</p>\n </div>\n <!-- component -->\n <MyComponent v-once :comment=\"msg\"></MyComponent>\n <!-- `v-for` directive -->\n <ul>\n <li v-for=\"i in list\" v-once>{{i}}</li>\n </ul>\n ```\n\n Since 3.2, you can also memoize part of the template with invalidation conditions using [`v-memo`](#v-memo).\n\n- **See also**\n - [Data Binding Syntax - interpolations](https://vuejs.org/guide/essentials/template-syntax.html#text-interpolation)\n - [v-memo](#v-memo)\n"
181
+ "value": "Render the element and component once only, and skip future updates.\n\n- **Does not expect expression**\n\n- **Details**\n\n On subsequent re-renders, the element/component and all its children will be treated as static content and skipped. This can be used to optimize update performance.\n\n ```html\n <!-- single element -->\n <span v-once>This will never change: {{msg}}</span>\n <!-- the element have children -->\n <div v-once>\n <h1>Comment</h1>\n <p>{{msg}}</p>\n </div>\n <!-- component -->\n <MyComponent v-once :comment=\"msg\"></MyComponent>\n <!-- `v-for` directive -->\n <ul>\n <li v-for=\"i in list\" v-once>{{i}}</li>\n </ul>\n ```\n\n Since 3.2, you can also memoize part of the template with invalidation conditions using [`v-memo`](#v-memo).\n\n- **See also**\n - [Data Binding Syntax - interpolations](https://vuejs.org/guide/essentials/template-syntax.html#text-interpolation)\n - [v-memo](#v-memo)"
1242
182
  },
1243
- "references": [
1244
- {
1245
- "name": "en",
1246
- "url": "https://vuejs.org/api/built-in-directives.html#v-once"
1247
- },
1248
- {
1249
- "name": "zh-cn",
1250
- "url": "https://cn.vuejs.org/api/built-in-directives.html#v-once"
1251
- },
1252
- {
1253
- "name": "zh-hk",
1254
- "url": "https://zh-hk.vuejs.org/api/built-in-directives.html#v-once"
1255
- },
1256
- {
1257
- "name": "ja",
1258
- "url": "https://ja.vuejs.org/api/built-in-directives.html#v-once"
1259
- },
1260
- {
1261
- "name": "ua",
1262
- "url": "https://ua.vuejs.org/api/built-in-directives.html#v-once"
1263
- },
1264
- {
1265
- "name": "fr",
1266
- "url": "https://fr.vuejs.org/api/built-in-directives.html#v-once"
1267
- },
1268
- {
1269
- "name": "ko",
1270
- "url": "https://ko.vuejs.org/api/built-in-directives.html#v-once"
1271
- },
1272
- {
1273
- "name": "pt",
1274
- "url": "https://pt.vuejs.org/api/built-in-directives.html#v-once"
1275
- },
1276
- {
1277
- "name": "bn",
1278
- "url": "https://bn.vuejs.org/api/built-in-directives.html#v-once"
1279
- },
1280
- {
1281
- "name": "it",
1282
- "url": "https://it.vuejs.org/api/built-in-directives.html#v-once"
1283
- },
1284
- {
1285
- "name": "cs",
1286
- "url": "https://cs.vuejs.org/api/built-in-directives.html#v-once"
1287
- },
1288
- {
1289
- "name": "ru",
1290
- "url": "https://ru.vuejs.org/api/built-in-directives.html#v-once"
1291
- },
1292
- {
1293
- "name": "fa",
1294
- "url": "https://fa.vuejs.org/api/built-in-directives.html#v-once"
1295
- }
1296
- ]
183
+ "references": "api/built-in-directives.html#v-once"
1297
184
  },
1298
185
  {
1299
186
  "name": "v-memo",
1300
187
  "description": {
1301
188
  "kind": "markdown",
1302
- "value": "\n- Only supported in 3.2+\n\n- **Expects:** `any[]`\n\n- **Details**\n\n Memoize a sub-tree of the template. Can be used on both elements and components. The directive expects a fixed-length array of dependency values to compare for the memoization. If every value in the array was the same as last render, then updates for the entire sub-tree will be skipped. For example:\n\n ```html\n <div v-memo=\"[valueA, valueB]\">\n ...\n </div>\n ```\n\n When the component re-renders, if both `valueA` and `valueB` remain the same, all updates for this `<div>` and its children will be skipped. In fact, even the Virtual DOM VNode creation will also be skipped since the memoized copy of the sub-tree can be reused.\n\n It is important to specify the memoization array correctly, otherwise we may skip updates that should indeed be applied. `v-memo` with an empty dependency array (`v-memo=\"[]\"`) would be functionally equivalent to `v-once`.\n\n **Usage with `v-for`**\n\n `v-memo` is provided solely for micro optimizations in performance-critical scenarios and should be rarely needed. The most common case where this may prove helpful is when rendering large `v-for` lists (where `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 When the component's `selected` state changes, a large amount of VNodes will be created even though most of the items remained exactly the same. The `v-memo` usage here is essentially saying \"only update this item if it went from non-selected to selected, or the other way around\". This allows every unaffected item to reuse its previous VNode and skip diffing entirely. Note we don't need to include `item.id` in the memo dependency array here since Vue automatically infers it from the item's `:key`.\n\n :::warning\n When using `v-memo` with `v-for`, make sure they are used on the same element. **`v-memo` does not work inside `v-for`.**\n :::\n\n `v-memo` can also be used on components to manually prevent unwanted updates in certain edge cases where the child component update check has been de-optimized. But again, it is the developer's responsibility to specify correct dependency arrays to avoid skipping necessary updates.\n\n- **See also**\n - [v-once](#v-once)\n"
189
+ "value": "- Only supported in 3.2+\n\n- **Expects:** `any[]`\n\n- **Details**\n\n Memoize a sub-tree of the template. Can be used on both elements and components. The directive expects a fixed-length array of dependency values to compare for the memoization. If every value in the array was the same as last render, then updates for the entire sub-tree will be skipped. For example:\n\n ```html\n <div v-memo=\"[valueA, valueB]\">\n ...\n </div>\n ```\n\n When the component re-renders, if both `valueA` and `valueB` remain the same, all updates for this `<div>` and its children will be skipped. In fact, even the Virtual DOM VNode creation will also be skipped since the memoized copy of the sub-tree can be reused.\n\n It is important to specify the memoization array correctly, otherwise we may skip updates that should indeed be applied. `v-memo` with an empty dependency array (`v-memo=\"[]\"`) would be functionally equivalent to `v-once`.\n\n **Usage with `v-for`**\n\n `v-memo` is provided solely for micro optimizations in performance-critical scenarios and should be rarely needed. The most common case where this may prove helpful is when rendering large `v-for` lists (where `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 When the component's `selected` state changes, a large amount of VNodes will be created even though most of the items remained exactly the same. The `v-memo` usage here is essentially saying \"only update this item if it went from non-selected to selected, or the other way around\". This allows every unaffected item to reuse its previous VNode and skip diffing entirely. Note we don't need to include `item.id` in the memo dependency array here since Vue automatically infers it from the item's `:key`.\n\n :::warning\n When using `v-memo` with `v-for`, make sure they are used on the same element. **`v-memo` does not work inside `v-for`.**\n :::\n\n `v-memo` can also be used on components to manually prevent unwanted updates in certain edge cases where the child component update check has been de-optimized. But again, it is the developer's responsibility to specify correct dependency arrays to avoid skipping necessary updates.\n\n- **See also**\n - [v-once](#v-once)"
1303
190
  },
1304
- "references": [
1305
- {
1306
- "name": "en",
1307
- "url": "https://vuejs.org/api/built-in-directives.html#v-memo"
1308
- },
1309
- {
1310
- "name": "zh-cn",
1311
- "url": "https://cn.vuejs.org/api/built-in-directives.html#v-memo"
1312
- },
1313
- {
1314
- "name": "zh-hk",
1315
- "url": "https://zh-hk.vuejs.org/api/built-in-directives.html#v-memo"
1316
- },
1317
- {
1318
- "name": "ja",
1319
- "url": "https://ja.vuejs.org/api/built-in-directives.html#v-memo"
1320
- },
1321
- {
1322
- "name": "ua",
1323
- "url": "https://ua.vuejs.org/api/built-in-directives.html#v-memo"
1324
- },
1325
- {
1326
- "name": "fr",
1327
- "url": "https://fr.vuejs.org/api/built-in-directives.html#v-memo"
1328
- },
1329
- {
1330
- "name": "ko",
1331
- "url": "https://ko.vuejs.org/api/built-in-directives.html#v-memo"
1332
- },
1333
- {
1334
- "name": "pt",
1335
- "url": "https://pt.vuejs.org/api/built-in-directives.html#v-memo"
1336
- },
1337
- {
1338
- "name": "bn",
1339
- "url": "https://bn.vuejs.org/api/built-in-directives.html#v-memo"
1340
- },
1341
- {
1342
- "name": "it",
1343
- "url": "https://it.vuejs.org/api/built-in-directives.html#v-memo"
1344
- },
1345
- {
1346
- "name": "cs",
1347
- "url": "https://cs.vuejs.org/api/built-in-directives.html#v-memo"
1348
- },
1349
- {
1350
- "name": "ru",
1351
- "url": "https://ru.vuejs.org/api/built-in-directives.html#v-memo"
1352
- },
1353
- {
1354
- "name": "fa",
1355
- "url": "https://fa.vuejs.org/api/built-in-directives.html#v-memo"
1356
- }
1357
- ]
191
+ "references": "api/built-in-directives.html#v-memo"
1358
192
  },
1359
193
  {
1360
194
  "name": "v-cloak",
1361
195
  "valueSet": "v",
1362
196
  "description": {
1363
197
  "kind": "markdown",
1364
- "value": "\nUsed to hide un-compiled template until it is ready.\n\n- **Does not expect expression**\n\n- **Details**\n\n **This directive is only needed in no-build-step setups.**\n\n When using in-DOM templates, there can be a \"flash of un-compiled templates\": the user may see raw mustache tags until the mounted component replaces them with rendered content.\n\n `v-cloak` will remain on the element until the associated component instance is mounted. Combined with CSS rules such as `[v-cloak] { display: none }`, it can be used to hide the raw templates until the component is ready.\n\n- **Example**\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 The `<div>` will not be visible until the compilation is done.\n"
198
+ "value": "Used to hide un-compiled template until it is ready.\n\n- **Does not expect expression**\n\n- **Details**\n\n **This directive is only needed in no-build-step setups.**\n\n When using in-DOM templates, there can be a \"flash of un-compiled templates\": the user may see raw mustache tags until the mounted component replaces them with rendered content.\n\n `v-cloak` will remain on the element until the associated component instance is mounted. Combined with CSS rules such as `[v-cloak] { display: none }`, it can be used to hide the raw templates until the component is ready.\n\n- **Example**\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 The `<div>` will not be visible until the compilation is done."
1365
199
  },
1366
- "references": [
1367
- {
1368
- "name": "en",
1369
- "url": "https://vuejs.org/api/built-in-directives.html#v-cloak"
1370
- },
1371
- {
1372
- "name": "zh-cn",
1373
- "url": "https://cn.vuejs.org/api/built-in-directives.html#v-cloak"
1374
- },
1375
- {
1376
- "name": "zh-hk",
1377
- "url": "https://zh-hk.vuejs.org/api/built-in-directives.html#v-cloak"
1378
- },
1379
- {
1380
- "name": "ja",
1381
- "url": "https://ja.vuejs.org/api/built-in-directives.html#v-cloak"
1382
- },
1383
- {
1384
- "name": "ua",
1385
- "url": "https://ua.vuejs.org/api/built-in-directives.html#v-cloak"
1386
- },
1387
- {
1388
- "name": "fr",
1389
- "url": "https://fr.vuejs.org/api/built-in-directives.html#v-cloak"
1390
- },
1391
- {
1392
- "name": "ko",
1393
- "url": "https://ko.vuejs.org/api/built-in-directives.html#v-cloak"
1394
- },
1395
- {
1396
- "name": "pt",
1397
- "url": "https://pt.vuejs.org/api/built-in-directives.html#v-cloak"
1398
- },
1399
- {
1400
- "name": "bn",
1401
- "url": "https://bn.vuejs.org/api/built-in-directives.html#v-cloak"
1402
- },
1403
- {
1404
- "name": "it",
1405
- "url": "https://it.vuejs.org/api/built-in-directives.html#v-cloak"
1406
- },
1407
- {
1408
- "name": "cs",
1409
- "url": "https://cs.vuejs.org/api/built-in-directives.html#v-cloak"
1410
- },
1411
- {
1412
- "name": "ru",
1413
- "url": "https://ru.vuejs.org/api/built-in-directives.html#v-cloak"
1414
- },
1415
- {
1416
- "name": "fa",
1417
- "url": "https://fa.vuejs.org/api/built-in-directives.html#v-cloak"
1418
- }
1419
- ]
200
+ "references": "api/built-in-directives.html#v-cloak"
1420
201
  },
1421
202
  {
1422
203
  "name": "key",
1423
204
  "description": {
1424
205
  "kind": "markdown",
1425
- "value": "\nThe `key` special attribute is primarily used as a hint for Vue's virtual DOM algorithm to identify vnodes when diffing the new list of nodes against the old list.\n\n- **Expects:** `number | string | symbol`\n\n- **Details**\n\n Without keys, Vue uses an algorithm that minimizes element movement and tries to patch/reuse elements of the same type in-place as much as possible. With keys, it will reorder elements based on the order change of keys, and elements with keys that are no longer present will always be removed / destroyed.\n\n Children of the same common parent must have **unique keys**. Duplicate keys will cause render errors.\n\n The most common use case is combined with `v-for`:\n\n ```html\n <ul>\n <li v-for=\"item in items\" :key=\"item.id\">...</li>\n </ul>\n ```\n\n It can also be used to force replacement of an element/component instead of reusing it. This can be useful when you want to:\n\n - Properly trigger lifecycle hooks of a component\n - Trigger transitions\n\n For example:\n\n ```html\n <transition>\n <span :key=\"text\">{{ text }}</span>\n </transition>\n ```\n\n When `text` changes, the `<span>` will always be replaced instead of patched, so a transition will be triggered.\n\n- **See also** [Guide - List Rendering - Maintaining State with `key`](https://vuejs.org/guide/essentials/list.html#maintaining-state-with-key)\n"
206
+ "value": "The `key` special attribute is primarily used as a hint for Vue's virtual DOM algorithm to identify vnodes when diffing the new list of nodes against the old list.\n\n- **Expects:** `number | string | symbol`\n\n- **Details**\n\n Without keys, Vue uses an algorithm that minimizes element movement and tries to patch/reuse elements of the same type in-place as much as possible. With keys, it will reorder elements based on the order change of keys, and elements with keys that are no longer present will always be removed / destroyed.\n\n Children of the same common parent must have **unique keys**. Duplicate keys will cause render errors.\n\n The most common use case is combined with `v-for`:\n\n ```html\n <ul>\n <li v-for=\"item in items\" :key=\"item.id\">...</li>\n </ul>\n ```\n\n It can also be used to force replacement of an element/component instead of reusing it. This can be useful when you want to:\n\n - Properly trigger lifecycle hooks of a component\n - Trigger transitions\n\n For example:\n\n ```html\n <transition>\n <span :key=\"text\">{{ text }}</span>\n </transition>\n ```\n\n When `text` changes, the `<span>` will always be replaced instead of patched, so a transition will be triggered.\n\n- **See also** [Guide - List Rendering - Maintaining State with `key`](https://vuejs.org/guide/essentials/list.html#maintaining-state-with-key)"
1426
207
  },
1427
- "references": [
1428
- {
1429
- "name": "en",
1430
- "url": "https://vuejs.org/api/built-in-special-attributes.html#key"
1431
- },
1432
- {
1433
- "name": "zh-cn",
1434
- "url": "https://cn.vuejs.org/api/built-in-special-attributes.html#key"
1435
- },
1436
- {
1437
- "name": "zh-hk",
1438
- "url": "https://zh-hk.vuejs.org/api/built-in-special-attributes.html#key"
1439
- },
1440
- {
1441
- "name": "ja",
1442
- "url": "https://ja.vuejs.org/api/built-in-special-attributes.html#key"
1443
- },
1444
- {
1445
- "name": "ua",
1446
- "url": "https://ua.vuejs.org/api/built-in-special-attributes.html#key"
1447
- },
1448
- {
1449
- "name": "fr",
1450
- "url": "https://fr.vuejs.org/api/built-in-special-attributes.html#key"
1451
- },
1452
- {
1453
- "name": "ko",
1454
- "url": "https://ko.vuejs.org/api/built-in-special-attributes.html#key"
1455
- },
1456
- {
1457
- "name": "pt",
1458
- "url": "https://pt.vuejs.org/api/built-in-special-attributes.html#key"
1459
- },
1460
- {
1461
- "name": "bn",
1462
- "url": "https://bn.vuejs.org/api/built-in-special-attributes.html#key"
1463
- },
1464
- {
1465
- "name": "it",
1466
- "url": "https://it.vuejs.org/api/built-in-special-attributes.html#key"
1467
- },
1468
- {
1469
- "name": "cs",
1470
- "url": "https://cs.vuejs.org/api/built-in-special-attributes.html#key"
1471
- },
1472
- {
1473
- "name": "ru",
1474
- "url": "https://ru.vuejs.org/api/built-in-special-attributes.html#key"
1475
- },
1476
- {
1477
- "name": "fa",
1478
- "url": "https://fa.vuejs.org/api/built-in-special-attributes.html#key"
1479
- }
1480
- ]
208
+ "references": "api/built-in-special-attributes.html#key"
1481
209
  },
1482
210
  {
1483
211
  "name": "ref",
1484
212
  "description": {
1485
213
  "kind": "markdown",
1486
- "value": "\nDenotes a [template ref](https://vuejs.org/guide/essentials/template-refs.html).\n\n- **Expects:** `string | Function`\n\n- **Details**\n\n `ref` is used to register a reference to an element or a child component.\n\n In Options API, the reference will be registered under the component's `this.$refs` object:\n\n ```html\n <!-- stored as this.$refs.p -->\n <p ref=\"p\">hello</p>\n ```\n\n In Composition API, the reference will be stored in a ref with matching name:\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 If used on a plain DOM element, the reference will be that element; if used on a child component, the reference will be the child component instance.\n\n Alternatively `ref` can accept a function value which provides full control over where to store the reference:\n\n ```html\n <ChildComponent :ref=\"(el) => child = el\" />\n ```\n\n An important note about the ref registration timing: because the refs themselves are created as a result of the render function, you must wait until the component is mounted before accessing them.\n\n `this.$refs` is also non-reactive, therefore you should not attempt to use it in templates for data-binding.\n\n- **See also**\n - [Guide - Template Refs](https://vuejs.org/guide/essentials/template-refs.html)\n - [Guide - Typing Template Refs](https://vuejs.org/guide/typescript/composition-api.html#typing-template-refs) <sup class=\"vt-badge ts\" />\n - [Guide - Typing Component Template Refs](https://vuejs.org/guide/typescript/composition-api.html#typing-component-template-refs) <sup class=\"vt-badge ts\" />\n"
214
+ "value": "Denotes a [template ref](https://vuejs.org/guide/essentials/template-refs.html).\n\n- **Expects:** `string | Function`\n\n- **Details**\n\n `ref` is used to register a reference to an element or a child component.\n\n In Options API, the reference will be registered under the component's `this.$refs` object:\n\n ```html\n <!-- stored as this.$refs.p -->\n <p ref=\"p\">hello</p>\n ```\n\n In Composition API, the reference will be stored in a ref with matching name:\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\">hello</p>\n </template>\n ```\n\n If used on a plain DOM element, the reference will be that element; if used on a child component, the reference will be the child component instance.\n\n Alternatively `ref` can accept a function value which provides full control over where to store the reference:\n\n ```html\n <ChildComponent :ref=\"(el) => child = el\" />\n ```\n\n An important note about the ref registration timing: because the refs themselves are created as a result of the render function, you must wait until the component is mounted before accessing them.\n\n `this.$refs` is also non-reactive, therefore you should not attempt to use it in templates for data-binding.\n\n- **See also**\n - [Guide - Template Refs](https://vuejs.org/guide/essentials/template-refs.html)\n - [Guide - Typing Template Refs](https://vuejs.org/guide/typescript/composition-api.html#typing-template-refs) <sup class=\"vt-badge ts\" />\n - [Guide - Typing Component Template Refs](https://vuejs.org/guide/typescript/composition-api.html#typing-component-template-refs) <sup class=\"vt-badge ts\" />"
1487
215
  },
1488
- "references": [
1489
- {
1490
- "name": "en",
1491
- "url": "https://vuejs.org/api/built-in-special-attributes.html#ref"
1492
- },
1493
- {
1494
- "name": "zh-cn",
1495
- "url": "https://cn.vuejs.org/api/built-in-special-attributes.html#ref"
1496
- },
1497
- {
1498
- "name": "zh-hk",
1499
- "url": "https://zh-hk.vuejs.org/api/built-in-special-attributes.html#ref"
1500
- },
1501
- {
1502
- "name": "ja",
1503
- "url": "https://ja.vuejs.org/api/built-in-special-attributes.html#ref"
1504
- },
1505
- {
1506
- "name": "ua",
1507
- "url": "https://ua.vuejs.org/api/built-in-special-attributes.html#ref"
1508
- },
1509
- {
1510
- "name": "fr",
1511
- "url": "https://fr.vuejs.org/api/built-in-special-attributes.html#ref"
1512
- },
1513
- {
1514
- "name": "ko",
1515
- "url": "https://ko.vuejs.org/api/built-in-special-attributes.html#ref"
1516
- },
1517
- {
1518
- "name": "pt",
1519
- "url": "https://pt.vuejs.org/api/built-in-special-attributes.html#ref"
1520
- },
1521
- {
1522
- "name": "bn",
1523
- "url": "https://bn.vuejs.org/api/built-in-special-attributes.html#ref"
1524
- },
1525
- {
1526
- "name": "it",
1527
- "url": "https://it.vuejs.org/api/built-in-special-attributes.html#ref"
1528
- },
1529
- {
1530
- "name": "cs",
1531
- "url": "https://cs.vuejs.org/api/built-in-special-attributes.html#ref"
1532
- },
1533
- {
1534
- "name": "ru",
1535
- "url": "https://ru.vuejs.org/api/built-in-special-attributes.html#ref"
1536
- },
1537
- {
1538
- "name": "fa",
1539
- "url": "https://fa.vuejs.org/api/built-in-special-attributes.html#ref"
1540
- }
1541
- ]
216
+ "references": "api/built-in-special-attributes.html#ref"
1542
217
  },
1543
218
  {
1544
219
  "name": "is",
1545
220
  "description": {
1546
221
  "kind": "markdown",
1547
- "value": "\nUsed for binding [dynamic components](https://vuejs.org/guide/essentials/component-basics.html#dynamic-components).\n\n- **Expects:** `string | Component`\n\n- **Usage on native elements**\n \n - Only supported in 3.1+\n\n When the `is` attribute is used on a native HTML element, it will be interpreted as a [Customized built-in element](https://html.spec.whatwg.org/multipage/custom-elements.html#custom-elements-customized-builtin-example), which is a native web platform feature.\n\n There is, however, a use case where you may need Vue to replace a native element with a Vue component, as explained in [in-DOM Template Parsing Caveats](https://vuejs.org/guide/essentials/component-basics.html#in-dom-template-parsing-caveats). You can prefix the value of the `is` attribute with `vue:` so that Vue will render the element as a Vue component instead:\n\n ```html\n <table>\n <tr is=\"vue:my-row-component\"></tr>\n </table>\n ```\n\n- **See also**\n\n - [Built-in Special Element - `<component>`](https://vuejs.org/api/built-in-special-elements.html#component)\n - [Dynamic Components](https://vuejs.org/guide/essentials/component-basics.html#dynamic-components)\n"
222
+ "value": "Used for binding [dynamic components](https://vuejs.org/guide/essentials/component-basics.html#dynamic-components).\n\n- **Expects:** `string | Component`\n\n- **Usage on native elements**\n \n - Only supported in 3.1+\n\n When the `is` attribute is used on a native HTML element, it will be interpreted as a [Customized built-in element](https://html.spec.whatwg.org/multipage/custom-elements.html#custom-elements-customized-builtin-example), which is a native web platform feature.\n\n There is, however, a use case where you may need Vue to replace a native element with a Vue component, as explained in [in-DOM Template Parsing Caveats](https://vuejs.org/guide/essentials/component-basics.html#in-dom-template-parsing-caveats). You can prefix the value of the `is` attribute with `vue:` so that Vue will render the element as a Vue component instead:\n\n ```html\n <table>\n <tr is=\"vue:my-row-component\"></tr>\n </table>\n ```\n\n- **See also**\n\n - [Built-in Special Element - `<component>`](https://vuejs.org/api/built-in-special-elements.html#component)\n - [Dynamic Components](https://vuejs.org/guide/essentials/component-basics.html#dynamic-components)"
1548
223
  },
1549
- "references": [
1550
- {
1551
- "name": "en",
1552
- "url": "https://vuejs.org/api/built-in-special-attributes.html#is"
1553
- },
1554
- {
1555
- "name": "zh-cn",
1556
- "url": "https://cn.vuejs.org/api/built-in-special-attributes.html#is"
1557
- },
1558
- {
1559
- "name": "zh-hk",
1560
- "url": "https://zh-hk.vuejs.org/api/built-in-special-attributes.html#is"
1561
- },
1562
- {
1563
- "name": "ja",
1564
- "url": "https://ja.vuejs.org/api/built-in-special-attributes.html#is"
1565
- },
1566
- {
1567
- "name": "ua",
1568
- "url": "https://ua.vuejs.org/api/built-in-special-attributes.html#is"
1569
- },
1570
- {
1571
- "name": "fr",
1572
- "url": "https://fr.vuejs.org/api/built-in-special-attributes.html#is"
1573
- },
1574
- {
1575
- "name": "ko",
1576
- "url": "https://ko.vuejs.org/api/built-in-special-attributes.html#is"
1577
- },
1578
- {
1579
- "name": "pt",
1580
- "url": "https://pt.vuejs.org/api/built-in-special-attributes.html#is"
1581
- },
1582
- {
1583
- "name": "bn",
1584
- "url": "https://bn.vuejs.org/api/built-in-special-attributes.html#is"
1585
- },
1586
- {
1587
- "name": "it",
1588
- "url": "https://it.vuejs.org/api/built-in-special-attributes.html#is"
1589
- },
1590
- {
1591
- "name": "cs",
1592
- "url": "https://cs.vuejs.org/api/built-in-special-attributes.html#is"
1593
- },
1594
- {
1595
- "name": "ru",
1596
- "url": "https://ru.vuejs.org/api/built-in-special-attributes.html#is"
1597
- },
1598
- {
1599
- "name": "fa",
1600
- "url": "https://fa.vuejs.org/api/built-in-special-attributes.html#is"
1601
- }
1602
- ]
224
+ "references": "api/built-in-special-attributes.html#is"
225
+ },
226
+ {
227
+ "name": "data-allow-mismatch",
228
+ "description": {
229
+ "kind": "markdown",
230
+ "value": "A special attribute that can be used to suppress [hydration mismatch](https://vuejs.org/guide/scaling-up/ssr.html#hydration-mismatch) warnings.\n\n- **Example**\n\n ```html\n <div data-allow-mismatch=\"text\">{{ data.toLocaleString() }}</div>\n ```\n\n The value can limit the allowed mismatch to a specific type. Allowed values are:\n\n - `text`\n - `children` (only allows mismatch for direct children)\n - `class`\n - `style`\n - `attribute`\n\n If no value is provided, all types of mismatches will be allowed.\n"
231
+ },
232
+ "references": "api/ssr.html#data-allow-mismatch"
1603
233
  }
1604
234
  ]
1605
235
  }