Crawler Report for vuejs.org

Summary

  • ⛔ 2 page(s) with multiple <h1> headings.
  • ⛔ 1 page(s) without <h1> heading.
  • ⛔ Security - 101 pages(s) with critical finding(s).
  • ⚠️ The description 'Vue.js - The Progressive JavaScript Framework' exceeds the allowed 10% duplicity. 100% of pages have this same description.
  • ⚠️ No AVIF image found on the website.
  • ⚠️ 101 page(s) with invalid inline SVGs.
  • ⚠️ 85 page(s) with skipped heading levels.
  • ⚠️ 92 page(s) without image alt attributes.
  • ⚠️ 7 page(s) without form labels.
  • ⚠️ 101 page(s) without aria labels.
  • ⚠️ 101 page(s) without role attributes.
  • ⏩ Loaded robots.txt for domain 'vuejs.org': status code 404, size 20 kB and took 82 ms.
  • ⏩ 404 NOTICE - 2 non-existent page(s) found.
  • ✅ Redirects - no redirects found.
  • ✅ SSL/TLS certificate is valid until Oct 25 23:22:09 2024 GMT. Issued by C = US, O = Let's Encrypt, CN = E6. Subject is CN = vuejs.org.
  • ✅ SSL/TLS certificate issued by 'C = US, O = Let's Encrypt, CN = E6'.
  • ✅ Performance OK - all non-media URLs are faster than 3 seconds.
  • ✅ HTTP headers - found 17 unique headers.
  • ✅ All 99 unique title(s) are within the allowed 10% duplicity. Highest duplicity title has 2%.
  • ✅ All pages support Brotli compression.
  • ✅ 10 WebP image(s) found on the website.
  • ✅ All pages have quoted attributes.
  • ✅ All pages have inline SVGs smaller than 5120 bytes.
  • ✅ All pages have inline SVGs with less than 5 duplicates.
  • ✅ All pages have DOM depth less than 30.
  • ✅ All pages have clickable (interactive) phone numbers.
  • ✅ All pages have valid HTML.
  • ✅ All pages have lang attribute.
  • ✅ DNS IPv4 OK: domain vuejs.org resolved to 3.79.76.132, 3.121.122.184 (DNS server: 10.255.255.254).
  • ✅ DNS IPv6 OK: domain vuejs.org resolved to 2a05:d014:58f:6202::1f4, 2a05:d014:58f:6201::1f4 (DNS server: 10.255.255.254).
  • 📌 Text report saved to '%path%/siteone-crawler/tmp/vuejs.org.output.20240816-185255.txt' and took 1 ms.
  • 📌 JSON report saved to '%path%/siteone-crawler/tmp/vuejs.org.output.20240816-185255.json' and took 6 ms.
  • 📌 HTML report saved to '%path%/siteone-crawler/tmp/vuejs.org.report.20240816-185255.html' and took 60 ms.

Visited URLs

Found 300 row(s).
URLStatusTypeTime (s)SizeCache-StatusTitle
/200 HTML94 ms 76 kB"Netlify Edge"; hitVue.js - The Progressive JavaScript Framework | Vue.js
/assets/app.FXXb3edh.js200 JS62 ms 706 B"Netlify Edge"; hit
/assets/inter-roman-latin.Di8DUHzh.woff2200 Font108 ms66 kB"Netlify Edge"; hit
/about/privacy200 HTML530 ms71 kB"Netlify Edge"; fwd=missVue.js Privacy Policy | Vue.js
/assets/index.md.CYBSsJjd.lean.js200 JS67 ms 3 kB"Netlify Edge"; hit
/viteconf.svg200 Image81 ms 3 kB"Netlify Edge"; hit
/guide/introduction200 HTML363 ms107 kB"Netlify Edge"; fwd=staleIntroduction | Vue.js
/api/200 HTML88 ms 87 kB"Netlify Edge"; hitAPI Reference | Vue.js
/examples/200 HTML65 ms 70 kB"Netlify Edge"; hitExamples | Vue.js
/guide/best-practices/production-deployment200 HTML79 ms 85 kB"Netlify Edge"; hitProduction Deployment | Vue.js
/guide/built-ins/suspense200 HTML87 ms 101 kB"Netlify Edge"; hitSuspense | Vue.js
/api/built-in-directives200 HTML348 ms134 kB"Netlify Edge"; fwd=missBuilt-in Directives | Vue.js
/guide/typescript/overview200 HTML109 ms105 kB"Netlify Edge"; hitUsing Vue with TypeScript | Vue.js
/assets/guide_typescript_overview.md.D6ZBb7i_.lean.js200 JS65 ms 5 kB"Netlify Edge"; hit
/guide/essentials/application200 HTML203 ms93 kB"Netlify Edge"; fwd=staleCreating a Vue Application | Vue.js
/guide/extras/animation200 HTML339 ms105 kB"Netlify Edge"; fwd=missAnimation Techniques | Vue.js
/api/options-lifecycle200 HTML209 ms105 kB"Netlify Edge"; fwd=missOptions: Lifecycle | Vue.js
/api/component-instance200 HTML396 ms105 kB"Netlify Edge"; fwd=staleComponent Instance | Vue.js
/guide/built-ins/keep-alive200 HTML80 ms 95 kB"Netlify Edge"; hitKeepAlive | Vue.js
/guide/components/provide-inject200 HTML85 ms 118 kB"Netlify Edge"; hitProvide / Inject | Vue.js
/guide/components/async200 HTML84 ms 92 kB"Netlify Edge"; hitAsync Components | Vue.js
/guide/extras/reactivity-in-depth200 HTML205 ms143 kB"Netlify Edge"; fwd=missReactivity in Depth | Vue.js
/guide/extras/ways-of-using-vue200 HTML82 ms 88 kB"Netlify Edge"; hitWays of Using Vue | Vue.js
/assets/guide_extras_reactivity-in-depth.md.Bi23gyze.lean.js200 JS80 ms 12 kB"Netlify Edge"; hit
/api/reactivity-advanced200 HTML332 ms113 kB"Netlify Edge"; fwd=missReactivity API: Advanced | Vue.js
/assets/api_index.md.K16881fY.lean.js200 JS64 ms 4 kB"Netlify Edge"; hit
/assets/api_reactivity-advanced.md.DeLqeyhS.lean.js200 JS67 ms 6 kB"Netlify Edge"; hit
/assets/api_component-instance.md.CuxHKrS4.lean.js200 JS63 ms 4 kB"Netlify Edge"; hit
/guide/essentials/template-syntax200 HTML212 ms113 kB"Netlify Edge"; fwd=staleTemplate Syntax | Vue.js
/api/compile-time-flags200 HTML85 ms 85 kB"Netlify Edge"; hitCompile-Time Flags | Vue.js
/assets/chunks/ExampleRepl.mOPCpoCx.js200 JS85 ms 14 kB"Netlify Edge"; hit
/guide/essentials/conditional200 HTML317 ms92 kB"Netlify Edge"; fwd=staleConditional Rendering | Vue.js
https://storage.googleapis.com/vue-mastery.appspot.com/flamelink/media/vue-mastery-logo.png200 Image249 ms42 kB
/assets/chunks/framework.BcXqWojc.js200 JS104 ms38 kB"Netlify Edge"; hit
/api/built-in-components200 HTML213 ms111 kB"Netlify Edge"; fwd=staleBuilt-in Components | Vue.js
/api/render-function200 HTML90 ms 108 kB"Netlify Edge"; hitRender Function APIs | Vue.js
/assets/guide_components_async.md.D7IeCu8g.lean.js200 JS75 ms 2 kB"Netlify Edge"; hit
/assets/chunks/index.DjKJqAo0.js200 JS91 ms 26 kB"Netlify Edge"; hit
/assets/guide_essentials_conditional.md.CMkqj6Lp.lean.js200 JS59 ms 3 kB"Netlify Edge"; hit
/assets/directive.DtZKvoAo.png200 Image102 ms45 kB"Netlify Edge"; hit
/assets/guide_best-practices_production-deployment.md.CNDUAib7.lean.js200 JS65 ms 2 kB"Netlify Edge"; hit
/assets/about_privacy.md.CfOUzbJe.lean.js200 JS246 ms6 kB"Netlify Edge"; fwd=miss
/guide/extras/composition-api-faq200 HTML221 ms102 kB"Netlify Edge"; fwd=missComposition API FAQ | Vue.js
/guide/typescript/options-api200 HTML83 ms 115 kB"Netlify Edge"; hitTypeScript with Options API | Vue.js
/api/composition-api-lifecycle200 HTML83 ms 109 kB"Netlify Edge"; hitComposition API: Lifecycle Hooks | Vue.js
/assets/guide_typescript_options-api.md.BAEea4aW.lean.js200 JS71 ms 4 kB"Netlify Edge"; hit
/assets/options-api.B_7BnLkD.png200 Image115 ms115 kB"Netlify Edge"; hit
/assets/api_composition-api-lifecycle.md.9Vm7IOD2.lean.js200 JS67 ms 4 kB"Netlify Edge"; hit
/assets/guide_extras_ways-of-using-vue.md.i1Rv_33R.lean.js200 JS64 ms 3 kB"Netlify Edge"; hit
/assets/chunks/store.js404 HTML189 ms20 kB"Netlify Edge"; fwd=miss404 | Vue.js
/assets/examples_index.md.D4SRlUoL.lean.js200 JS71 ms 911 B"Netlify Edge"; hit
/guide/best-practices/accessibility200 HTML338 ms155 kB"Netlify Edge"; fwd=missAccessibility | Vue.js
/guide/reusability/composables200 HTML82 ms 133 kB"Netlify Edge"; hitComposables | Vue.js
/assets/guide_extras_animation.md.CtEpWdfA.lean.js200 JS90 ms 14 kB"Netlify Edge"; hit
/assets/guide_best-practices_accessibility.md.Dv0z1I9S.lean.js200 JS375 ms77 kB"Netlify Edge"; fwd=miss
/assets/guide_reusability_composables.md.BbB6DHVo.lean.js200 JS70 ms 9 kB"Netlify Edge"; hit
/assets/AccessiblePlaceholder.IvJOiQV8.png200 Image99 ms 43 kB"Netlify Edge"; hit
/assets/AccessibleARIAlabelledbyDevTools.D7s7v8qX.png200 Image111 ms51 kB"Netlify Edge"; hit
/assets/AccessibleARIAlabelDevTools.CLDgc87f.png200 Image103 ms48 kB"Netlify Edge"; hit
/api/built-in-special-attributes200 HTML322 ms85 kB"Netlify Edge"; fwd=staleBuilt-in Special Attributes | Vue.js
/assets/api_built-in-special-attributes.md.DkP9Y9Hs.lean.js200 JS89 ms 2 kB"Netlify Edge"; hit
/guide/essentials/reactivity-fundamentals200 HTML355 ms144 kB"Netlify Edge"; fwd=missReactivity Fundamentals | Vue.js
/guide/built-ins/transition200 HTML89 ms 157 kB"Netlify Edge"; hitTransition | Vue.js
/guide/components/attrs200 HTML90 ms 101 kB"Netlify Edge"; hitFallthrough Attributes | Vue.js
/assets/guide_built-ins_transition.md.DQlbVQb9.lean.js200 JS88 ms 16 kB"Netlify Edge"; hit
/assets/guide_components_attrs.md.BIck1xCL.lean.js200 JS61 ms 3 kB"Netlify Edge"; hit
/assets/guide_built-ins_keep-alive.md.D9aasOs7.lean.js200 JS64 ms 4 kB"Netlify Edge"; hit
/assets/AccessibleARIAdescribedby.B-uvz_GC.png200 Image95 ms 61 kB"Netlify Edge"; hit
/api/composition-api-dependency-injection200 HTML80 ms 89 kB"Netlify Edge"; hitComposition API: Dependency Injection | Vue.js
/api/sfc-spec200 HTML81 ms 89 kB"Netlify Edge"; hitSFC Syntax Specification | Vue.js
/style-guide/rules-essential200 HTML343 ms111 kB"Netlify Edge"; fwd=missPriority A Rules: Essential | Vue.js
/assets/api_sfc-spec.md.CeSOp6LR.lean.js200 JS64 ms 3 kB"Netlify Edge"; hit
/style-guide/200 HTML95 ms 75 kB"Netlify Edge"; hitStyle Guide | Vue.js
/style-guide/rules-recommended200 HTML202 ms94 kB"Netlify Edge"; fwd=missPriority C Rules: Recommended | Vue.js
/style-guide/rules-strongly-recommended200 HTML349 ms145 kB"Netlify Edge"; fwd=stalePriority B Rules: Strongly Recommended | Vue.js
/api/utility-types200 HTML202 ms94 kB"Netlify Edge"; fwd=staleUtility Types | Vue.js
/assets/style-guide_rules-strongly-recommended.md.CzFNLTNS.lean.js200 JS67 ms 8 kB"Netlify Edge"; hit
/api/application200 HTML210 ms131 kB"Netlify Edge"; fwd=staleApplication API | Vue.js
/guide/essentials/computed200 HTML319 ms108 kB"Netlify Edge"; fwd=staleComputed Properties | Vue.js
/assets/guide_essentials_computed.md.DyYn0Y-Q.lean.js200 JS68 ms 5 kB"Netlify Edge"; hit
/guide/scaling-up/routing200 HTML84 ms 95 kB"Netlify Edge"; hitRouting | Vue.js
https://vueschool.io/banner.js?affiliate=vuejs&type=top200 JS618 ms45 B
/assets/guide_scaling-up_routing.md.D0i2LBbb.lean.js200 JS84 ms 3 kB"Netlify Edge"; hit
/assets/chunks/utils.CV8tnu5K.js200 JS145 ms379 kB"Netlify Edge"; hit
/assets/style-guide_rules-recommended.md.C8G_zWo4.lean.js200 JS64 ms 3 kB"Netlify Edge"; hit
/assets/guide_essentials_application.md.MMcssjfd.lean.js200 JS61 ms 3 kB"Netlify Edge"; hit
/guide/essentials/template-refs200 HTML206 ms107 kB"Netlify Edge"; fwd=staleTemplate Refs | Vue.js
/guide/components/props200 HTML204 ms140 kB"Netlify Edge"; fwd=staleProps | Vue.js
/guide/components/events200 HTML202 ms109 kB"Netlify Edge"; fwd=missComponent Events | Vue.js
/assets/guide_essentials_template-refs.md.C7ewJzlT.lean.js200 JS76 ms 4 kB"Netlify Edge"; hit
/api/custom-renderer200 HTML348 ms89 kB"Netlify Edge"; fwd=staleCustom Renderer API | Vue.js
/error-reference/200 HTML86 ms 81 kB"Netlify Edge"; hitProduction Error Code Reference | Vue.js
/api/reactivity-core200 HTML81 ms 130 kB"Netlify Edge"; hitReactivity API: Core | Vue.js
/assets/api_custom-renderer.md.BcLjwAF1.lean.js200 JS238 ms16 kB"Netlify Edge"; fwd=miss
/assets/style-guide_index.md.fR8uZD5v.lean.js200 JS64 ms 2 kB"Netlify Edge"; hit
/glossary/200 HTML337 ms107 kB"Netlify Edge"; fwd=missGlossary | Vue.js
/guide/reusability/custom-directives200 HTML89 ms 104 kB"Netlify Edge"; hitCustom Directives | Vue.js
/guide/best-practices/performance200 HTML78 ms 110 kB"Netlify Edge"; hitPerformance | Vue.js
/assets/glossary_index.md.Dk4tSQkU.lean.js200 JS188 ms41 kB"Netlify Edge"; fwd=miss
/assets/guide_best-practices_performance.md.Cj1nnlpK.lean.js200 JS65 ms 7 kB"Netlify Edge"; hit
/about/coc200 HTML336 ms71 kB"Netlify Edge"; fwd=missCode Of Conduct | Vue.js
/assets/error-reference_index.md.C2XDvx7F.lean.js200 JS186 ms3 kB"Netlify Edge"; fwd=stale
/assets/about_coc.md.DpsiYiee.lean.js200 JS254 ms6 kB"Netlify Edge"; fwd=miss
/assets/chunks/theme.B1kigBpl.js200 JS80 ms 19 kB"Netlify Edge"; hit
/about/releases200 HTML82 ms 72 kB"Netlify Edge"; hitReleases | Vue.js
/assets/guide_extras_composition-api-faq.md.DtnXUhnY.lean.js200 JS65 ms 7 kB"Netlify Edge"; hit
/api/options-rendering200 HTML334 ms87 kB"Netlify Edge"; fwd=staleOptions: Rendering | Vue.js
/api/general200 HTML195 ms104 kB"Netlify Edge"; fwd=missGlobal API: General | Vue.js
/assets/guide_reusability_custom-directives.md.Dqv9yVSv.lean.js200 JS63 ms 4 kB"Netlify Edge"; hit
/assets/api_options-rendering.md.B7amC2IU.lean.js200 JS64 ms 2 kB"Netlify Edge"; hit
/assets/api_general.md.Dirfi6mI.lean.js200 JS63 ms 4 kB"Netlify Edge"; hit
/assets/guide_essentials_reactivity-fundamentals.md.psZKZNrX.lean.js200 JS66 ms 9 kB"Netlify Edge"; hit
/assets/api_render-function.md.DNQQ2T3I.lean.js200 JS64 ms 4 kB"Netlify Edge"; hit
https://storage.googleapis.com/vue-mastery.appspot.com/flamelink/me…mastery-graphical-link-96x56.png200 Image228 ms11 kB
/guide/reusability/plugins200 HTML350 ms94 kB"Netlify Edge"; fwd=stalePlugins | Vue.js
/api/composition-api-setup200 HTML357 ms94 kB"Netlify Edge"; fwd=staleComposition API: setup() | Vue.js
/assets/AccessibleLabelChromeDevTools.Cd99Z50e.png200 Image97 ms 39 kB"Netlify Edge"; hit
/assets/api_composition-api-setup.md.Bc0WPO1R.lean.js200 JS62 ms 3 kB"Netlify Edge"; hit
/sponsor/200 HTML204 ms72 kB"Netlify Edge"; fwd=staleBecome a Vue.js Sponsor | Vue.js
/tutorial/200 HTML62 ms 63 kB"Netlify Edge"; hitTutorial | Vue.js
/assets/guide_introduction.md.CThjxxR6.lean.js200 JS65 ms 6 kB"Netlify Edge"; hit
/assets/chunks/TutorialRepl.Cva4OCwe.js200 JS81 ms 14 kB"Netlify Edge"; hit
/assets/sponsor_index.md.RXF6GpqT.lean.js200 JS63 ms 2 kB"Netlify Edge"; hit
/guide/quick-start200 HTML83 ms 122 kB"Netlify Edge"; hitQuick Start | Vue.js
/about/team200 HTML69 ms 66 kB"Netlify Edge"; hitMeet the Team | Vue.js
/assets/guide_quick-start.md.gDlh0vI2.lean.js200 JS75 ms 6 kB"Netlify Edge"; hit
/assets/chunks/ReplLoading.Byyb8pn6.js200 JS63 ms 305 B"Netlify Edge"; hit
/api/sfc-script-setup200 HTML86 ms 138 kB"Netlify Edge"; hit&lt;script setup&gt; | Vue.js
/assets/about_team.md.CtpACslu.lean.js200 JS284 ms31 kB"Netlify Edge"; fwd=miss
/assets/api_sfc-script-setup.md.CfE3BXyW.lean.js200 JS62 ms 9 kB"Netlify Edge"; hit
/api/sfc-css-features200 HTML365 ms97 kB"Netlify Edge"; fwd=missSFC CSS Features | Vue.js
/guide/extras/web-components200 HTML87 ms 115 kB"Netlify Edge"; hitVue and Web Components | Vue.js
/assets/composition-api-after.ZXskY_32.png200 Image152 ms201 kB"Netlify Edge"; hit
/assets/guide_extras_web-components.md.Jfcy_mn8.lean.js200 JS69 ms 7 kB"Netlify Edge"; hit
/assets/style-guide_rules-essential.md.CB0gfyux.lean.js200 JS70 ms 4 kB"Netlify Edge"; hit
/assets/api_utility-types.md.q8ceH6tB.lean.js200 JS194 ms3 kB"Netlify Edge"; fwd=stale
/ecosystem/themes200 HTML89 ms 111 kB"Netlify Edge"; hitVue.js
/guide/best-practices/security200 HTML99 ms 101 kB"Netlify Edge"; hitSecurity | Vue.js
https://www.primefaces.org/vue-templates/freya.jpg200 Image210 ms57 kB
https://flatlogic.com/assets/templates/light_blue_vue_full_nodejs-0…515ea048f12bcd91f165280246f.webp200 Document276 ms62 kB
https://raw.githubusercontent.com/creativetimofficial/public-assets…stem/vue-argon-design-system.jpg200 Image305 ms104 kB
https://www.wrappixel.com/wp-content/uploads/edd/2020/11/feature_image.jpg200 Image733 ms12 kB
https://mdbootstrap.com/img/Marketing/mdb-press-pack/vuejs/admin-pack.jpg200 Image442 ms183 kB
https://cdn.themeselection.com/ts-assets/materio/materio-vuetify-vu…-template-free/banner/banner.png200 Image118 ms31 kB
https://cdn.themeselection.com/ts-assets/materio/materio-vuetify-nu…admin-template/banner/banner.png200 Image65 ms 32 kB
https://raw.githubusercontent.com/creativetimofficial/public-assets…ashboard/vue-black-dashboard.jpg200 Image308 ms153 kB
https://org-public-assets.s3.us-west-2.amazonaws.com/Banners/Able+pro-free-vue.png200 Image1 s 131 kB
https://adminmart.com/wp-content/uploads/2023/02/modernize-vuetify-admin-dashboard-min.png200 Image918 ms33 kB
https://cdn.themeselection.com/ts-assets/materio/materio-vuetify-nu…-template-free/banner/banner.png200 Image96 ms 31 kB
https://www.wrappixel.com/wp-content/uploads/edd/2020/05/materialpro-vuejs-lite-admin-wp-20.jpg200 Image907 ms16 kB
https://raw.githubusercontent.com/creativetimofficial/public-assets…aterial-kit/vue-material-kit.jpg200 Image260 ms320 kB
https://org-public-assets.s3.us-west-2.amazonaws.com/Banners/Mantis-free-vue.png200 Image962 ms128 kB
https://www.primefaces.org/vue-templates/sakai.jpg200 Image215 ms60 kB
https://org-public-assets.s3.us-west-2.amazonaws.com/Banners/Berry-free-vue.png200 Image1 s 111 kB
https://mdbootstrap.com/img/Marketing/mdb-press-pack/vuejs/ui-kit.jpg200 Image116 ms189 kB
https://mdbootstrap.com/img/Marketing/mdb-press-pack/vuejs/plugins/calendar.jpg200 Image64 ms 29 kB
https://adminmart.com/wp-content/uploads/2024/05/matdash-vuetify-vuejs-admin-dashboard.png200 Image1.2 s 98 kB
https://raw.githubusercontent.com/creativetimofficial/public-assets…-pro/vue-black-dashboard-pro.jpg200 Image263 ms148 kB
https://flatlogic.com/assets/templates/sing_vue_full-cb6b9fdd0465a0…6957c8e1ce57565a5e2f45ff043.webp200 Document229 ms30 kB
https://mdbootstrap.com/img/Marketing/mdb-press-pack/vuejs/plugins/color-picker.jpg200 Image61 ms 23 kB
https://flatlogic.com/assets/templates/sing_vue_lite-ae3ec037404bc9…16713d75946c604feb69323ec21.webp200 Document197 ms18 kB
https://cdn.themeselection.com/ts-assets/materio/materio-vuetify-vu…admin-template/banner/banner.png200 Image64 ms 30 kB
https://www.wrappixel.com/wp-content/uploads/edd/2020/10/adminpro-vuetify-dasboard-template-y.jpg200 Image889 ms28 kB
https://adminmart.com/wp-content/uploads/2023/02/modernize-free-vuetify-admin-dashboard-am-min1.png200 Image873 ms32 kB
https://flatlogic.com/assets/templates/sing_vue_full_nodejs-78af092…7f25d72669152f3b090291609aa.webp200 Document221 ms53 kB
https://www.primefaces.org/vue-templates/ultima.jpg200 Image215 ms64 kB
https://flatlogic.com/assets/templates/light_blue_vue_full-e044d302…25c09d2e371a7eabf1c6a9c33b2.webp200 Document261 ms67 kB
https://www.wrappixel.com/wp-content/uploads/edd/2023/09/spike-vuejs-admin-dashboard-prev-img.jpg200 Image1.4 s 214 kB
https://flatlogic.com/assets/templates/light_blue_vue_lite-c1937a2a…5c58b9017daefe36411f9a1089e.webp200 Document191 ms33 kB
/guide/essentials/list200 HTML89 ms 131 kB"Netlify Edge"; hitList Rendering | Vue.js
/assets/guide_essentials_list.md.r2svkXGx.lean.js200 JS66 ms 8 kB"Netlify Edge"; hit
/assets/api_composition-api-dependency-injection.md.L8mdwb1u.lean.js200 JS67 ms 2 kB"Netlify Edge"; hit
/assets/provide-inject.C0gAIfVn.png200 Image84 ms 21 kB"Netlify Edge"; hit
https://org-public-assets.s3.us-west-2.amazonaws.com/Banners/Berry-pro-vue.png200 Image1 s 111 kB
https://raw.githubusercontent.com/creativetimofficial/public-assets…i-kit-pro/vue-now-ui-kit-pro.jpg200 Image244 ms131 kB
/assets/chunks/util.js404 HTML187 ms20 kB"Netlify Edge"; fwd=miss404 | Vue.js
https://www.wrappixel.com/wp-content/uploads/edd/2023/10/spike-free…tify-vuejs-admin-template-wp.jpg200 Image1 s 43 kB
/guide/scaling-up/testing200 HTML79 ms 130 kB"Netlify Edge"; hitTesting | Vue.js
/assets/guide_scaling-up_testing.md.CDbtGL2l.lean.js200 JS66 ms 10 kB"Netlify Edge"; hit
/guide/built-ins/transition-group200 HTML86 ms 96 kB"Netlify Edge"; hitTransitionGroup | Vue.js
/assets/guide_built-ins_transition-group.md.RukJBfrk.lean.js200 JS181 ms4 kB"Netlify Edge"; fwd=stale
https://adminmart.com/wp-content/uploads/2023/02/modernize-free-nuxt-admin-dashboard-am-min.png200 Image872 ms31 kB
https://www.wrappixel.com/wp-content/uploads/edd/2020/05/materialpro-vuejs-dashboard-template-20.jpg200 Image886 ms26 kB
/assets/api_sfc-css-features.md.De9P_u5t.lean.js200 JS188 ms3 kB"Netlify Edge"; fwd=stale
/guide/essentials/forms200 HTML82 ms 130 kB"Netlify Edge"; hitForm Input Bindings | Vue.js
/assets/guide_essentials_forms.md.CjuD7gEX.lean.js200 JS61 ms 9 kB"Netlify Edge"; hit
/assets/prop-drilling.XJXa8UE-.png200 Image83 ms 18 kB"Netlify Edge"; hit
/guide/essentials/watchers200 HTML211 ms137 kB"Netlify Edge"; fwd=staleWatchers | Vue.js
/guide/scaling-up/state-management200 HTML93 ms 103 kB"Netlify Edge"; hitState Management | Vue.js
/assets/guide_essentials_watchers.md.D1nvd_Gs.lean.js200 JS79 ms 8 kB"Netlify Edge"; hit
/assets/guide_scaling-up_state-management.md.zk-8YKU5.lean.js200 JS66 ms 4 kB"Netlify Edge"; hit
/guide/essentials/class-and-style200 HTML79 ms 115 kB"Netlify Edge"; hitClass and Style Bindings | Vue.js
/guide/components/registration200 HTML76 ms 93 kB"Netlify Edge"; hitComponent Registration | Vue.js
https://www.primefaces.org/vue-templates/apollo.jpg200 Image324 ms185 kB
/assets/guide_essentials_class-and-style.md.DORxkCSA.lean.js200 JS63 ms 4 kB"Netlify Edge"; hit
/assets/guide_components_provide-inject.md.BcYWF-oc.lean.js200 JS1.1 s 6 kB"Netlify Edge"; hit
/guide/scaling-up/tooling200 HTML90 ms 99 kB"Netlify Edge"; hitTooling | Vue.js
/assets/guide_components_events.md.B5GT7vCE.lean.js200 JS76 ms 4 kB"Netlify Edge"; hit
/assets/api_application.md.DC9UQi64.lean.js200 JS68 ms 7 kB"Netlify Edge"; hit
https://cdn.themeselection.com/ts-assets/sneat/sneat-vuetify-vuejs-…admin-template/banner/banner.png200 Image60 ms 30 kB
/guide/scaling-up/ssr200 HTML83 ms 125 kB"Netlify Edge"; hitServer-Side Rendering (SSR) | Vue.js
/assets/guide_scaling-up_ssr.md.B4wJSj1W.lean.js200 JS65 ms 10 kB"Netlify Edge"; hit
/guide/extras/rendering-mechanism200 HTML345 ms104 kB"Netlify Edge"; fwd=staleRendering Mechanism | Vue.js
https://adminmart.com/wp-content/uploads/2024/05/matdash-vuetifi-vuejs-2.png200 Image1.1 s 92 kB
/assets/render-pipeline.CwxnH_lZ.png200 Image98 ms 41 kB"Netlify Edge"; hit
/assets/api_options-lifecycle.md.DmzdBNSx.lean.js200 JS69 ms 4 kB"Netlify Edge"; hit
/assets/ecosystem_themes.md.Cs_sUFPz.lean.js200 JS69 ms 4 kB"Netlify Edge"; hit
https://raw.githubusercontent.com/vuejs/devtools/main/media/screenshot-shadow.png200 Image244 ms162 kB
/assets/guide_scaling-up_tooling.md.CHogQy2d.lean.js200 JS67 ms 5 kB"Netlify Edge"; hit
https://cdn.themeselection.com/ts-assets/sneat/sneat-vuetify-vuejs-…-template-free/banner/banner.png200 Image72 ms 27 kB
/api/options-state200 HTML497 ms128 kB"Netlify Edge"; fwd=missOptions: State | Vue.js
/guide/essentials/lifecycle200 HTML208 ms86 kB"Netlify Edge"; fwd=staleLifecycle Hooks | Vue.js
/assets/api_options-state.md.B2DqWydQ.lean.js200 JS69 ms 6 kB"Netlify Edge"; hit
/assets/guide_essentials_lifecycle.md.DGjlgzDi.lean.js200 JS68 ms 2 kB"Netlify Edge"; hit
/api/options-composition200 HTML204 ms97 kB"Netlify Edge"; fwd=staleOptions: Composition | Vue.js
/assets/lifecycle.MuZLBFAS.png200 Image136 ms186 kB"Netlify Edge"; hit
/assets/api_options-composition.md.DR0dX9nR.lean.js200 JS69 ms 3 kB"Netlify Edge"; hit
https://www.primefaces.org/vue-templates/diamond.jpg200 Image219 ms62 kB
/guide/components/v-model200 HTML81 ms 158 kB"Netlify Edge"; hitComponent v-model | Vue.js
/guide/typescript/composition-api200 HTML88 ms 139 kB"Netlify Edge"; hitTypeScript with Composition API | Vue.js
https://www.primefaces.org/vue-templates/atlantis.jpg200 Image260 ms152 kB
/assets/guide_typescript_composition-api.md.BvAR-fek.lean.js200 JS66 ms 6 kB"Netlify Edge"; hit
/assets/api_built-in-directives.md.CQQbsJ__.lean.js200 JS67 ms 8 kB"Netlify Edge"; hit
/assets/guide_components_registration.md.D63g1621.lean.js200 JS61 ms 3 kB"Netlify Edge"; hit
/ecosystem/newsletters200 HTML207 ms66 kB"Netlify Edge"; fwd=missCommunity Newsletters | Vue.js
/guide/components/slots200 HTML340 ms149 kB"Netlify Edge"; fwd=missSlots | Vue.js
/assets/scoped-slots.B67tIPc5.svg200 Image100 ms67 kB"Netlify Edge"; hit
/assets/named-slots.CCIb9Mo_.png200 Image104 ms54 kB"Netlify Edge"; hit
/assets/guide_components_slots.md.Bzen1Rhi.lean.js200 JS86 ms 13 kB"Netlify Edge"; hit
/assets/slots.CKcE8XYd.png200 Image89 ms 33 kB"Netlify Edge"; hit
https://org-public-assets.s3.us-west-2.amazonaws.com/Banners/Able+pro-pro-vue.png200 Image1 s 130 kB
/assets/api_compile-time-flags.md.BnQ2-D80.lean.js200 JS202 ms2 kB"Netlify Edge"; fwd=stale
/assets/guide_built-ins_suspense.md.CcINlbWL.lean.js200 JS66 ms 4 kB"Netlify Edge"; hit
/assets/state-flow.Cd6No79V.png200 Image89 ms 18 kB"Netlify Edge"; hit
https://org-public-assets.s3.us-west-2.amazonaws.com/Banners/Mantis-pro-vue.png200 Image985 ms137 kB
/guide/extras/reactivity-transform200 HTML82 ms 117 kB"Netlify Edge"; hitReactivity Transform | Vue.js
/assets/guide_extras_reactivity-transform.md.C4X8gYWX.lean.js200 JS60 ms 6 kB"Netlify Edge"; hit
/assets/style.CE2DHr1S.css200 CSS84 ms 23 kB"Netlify Edge"; hit
/api/ssr200 HTML345 ms97 kB"Netlify Edge"; fwd=missServer-Side Rendering API | Vue.js
/assets/inter-roman-cyrillic-ext.BBPuwvHQ.woff2200 Font219 ms40 kB"Netlify Edge"; fwd=miss
/logo-uwu.png200 Image406 ms199 kB"Netlify Edge"; fwd=miss
https://adminmart.com/wp-content/uploads/2023/02/modernize-nuxt-js-admin-dashboard.png200 Image1.1 s 89 kB
/assets/inter-italic-latin-ext.CN1xVJS-.woff2200 Font245 ms118 kB"Netlify Edge"; fwd=miss
/assets/inter-italic-vietnamese.BSbpV94h.woff2200 Font204 ms15 kB"Netlify Edge"; fwd=miss
/assets/inter-roman-greek-ext.CqjqNYQ-.woff2200 Font205 ms16 kB"Netlify Edge"; fwd=miss
/assets/inter-italic-cyrillic-ext.r48I6akx.woff2200 Font224 ms42 kB"Netlify Edge"; fwd=miss
/assets/inter-roman-vietnamese.BjW4sHH5.woff2200 Font200 ms14 kB"Netlify Edge"; fwd=miss
/assets/inter-roman-cyrillic.C5lxZ8CY.woff2200 Font89 ms 28 kB"Netlify Edge"; hit
/assets/api_ssr.md.L7eLGtR2.lean.js200 JS259 ms24 kB"Netlify Edge"; fwd=miss
/assets/inter-italic-greek-ext.1u6EdAuj.woff2200 Font214 ms17 kB"Netlify Edge"; fwd=miss
/assets/inter-roman-latin-ext.4ZJIpNVo.woff2200 Font122 ms108 kB"Netlify Edge"; hit
/assets/inter-italic-latin.C2AdPX0b.woff2200 Font120 ms73 kB"Netlify Edge"; hit
/guide/extras/render-function200 HTML83 ms 178 kB"Netlify Edge"; hitRender Functions & JSX | Vue.js
/assets/inter-italic-greek.DJ8dCoTZ.woff2200 Font199 ms32 kB"Netlify Edge"; fwd=miss
/assets/guide_extras_render-function.md.CWJ_GtH8.lean.js200 JS65 ms 9 kB"Netlify Edge"; hit
/assets/inter-italic-cyrillic.By2_1cv3.woff2200 Font288 ms31 kB"Netlify Edge"; fwd=miss
/assets/about_releases.md.WyvU3tAH.lean.js200 JS62 ms 3 kB"Netlify Edge"; hit
/assets/guide_components_props.md.BfF5U-7m.lean.js200 JS65 ms 7 kB"Netlify Edge"; hit
/assets/api_built-in-components.md.Bq4O5yF3.lean.js200 JS63 ms 4 kB"Netlify Edge"; hit
/style-guide/rules-use-with-caution200 HTML85 ms 95 kB"Netlify Edge"; hitPriority D Rules: Use with Caution | Vue.js
https://cdn.usefathom.com/script.js200 JS68 ms 6 kB
/assets/guide_essentials_template-syntax.md.CGTj7z1A.lean.js200 JS64 ms 6 kB"Netlify Edge"; hit
/guide/essentials/component-basics200 HTML82 ms 147 kB"Netlify Edge"; hitComponents Basics | Vue.js
/assets/style-guide_rules-use-with-caution.md.Cx-TymJm.lean.js200 JS249 ms25 kB"Netlify Edge"; fwd=miss
/assets/components.B1JZbf0_.png200 Image79 ms 18 kB"Netlify Edge"; hit
/assets/guide_essentials_component-basics.md.C2wFhXwb.lean.js200 JS69 ms 12 kB"Netlify Edge"; hit
/about/faq200 HTML288 ms80 kB"Netlify Edge"; fwd=missFrequently Asked Questions | Vue.js
/api/built-in-special-elements200 HTML90 ms 91 kB"Netlify Edge"; hitBuilt-in Special Elements | Vue.js
/assets/api_built-in-special-elements.md.B2pSaxpM.lean.js200 JS65 ms 3 kB"Netlify Edge"; hit
/assets/about_faq.md.zW-WoElr.lean.js200 JS195 ms5 kB"Netlify Edge"; fwd=stale
/assets/guide_reusability_plugins.md.DxeJH1Ra.lean.js200 JS63 ms 3 kB"Netlify Edge"; hit
/assets/ecosystem_newsletters.md.BQ5d3PP-.lean.js200 JS185 ms654 B"Netlify Edge"; fwd=miss
/assets/guide_extras_rendering-mechanism.md.DmaTdkpy.lean.js200 JS181 ms6 kB"Netlify Edge"; fwd=stale
/api/options-misc200 HTML356 ms90 kB"Netlify Edge"; fwd=missOptions: Misc | Vue.js
/guide/essentials/event-handling200 HTML80 ms 117 kB"Netlify Edge"; hitEvent Handling | Vue.js
/assets/guide_essentials_event-handling.md.CjuX8nux.lean.js200 JS80 ms 6 kB"Netlify Edge"; hit
/assets/transition-classes.DYG5-69l.png200 Image90 ms 32 kB"Netlify Edge"; hit
/partners/200 HTML273 ms65 kB"Netlify Edge"; fwd=staleVue.js
/assets/api_options-misc.md.DHzbqcGj.lean.js200 JS190 ms17 kB"Netlify Edge"; fwd=miss
/assets/inter-roman-greek.BBVDIX6e.woff2200 Font205 ms29 kB"Netlify Edge"; fwd=stale
/assets/partners_index.md.D_v0Ihss.lean.js200 JS192 ms646 B"Netlify Edge"; fwd=stale
/assets/chunks/PartnerJoin.DZeKP39p.js200 JS61 ms 1 kB"Netlify Edge"; hit
/assets/chunks/PartnerCard.kAKDy9WY.js200 JS63 ms 6 kB"Netlify Edge"; hit
/about/community-guide200 HTML80 ms 76 kB"Netlify Edge"; hitCommunity Guide | Vue.js
/partners/all200 HTML299 ms65 kB"Netlify Edge"; fwd=staleVue.js
/assets/partners_all.md.-hS5uGMw.lean.js200 JS256 ms589 B"Netlify Edge"; fwd=miss
/assets/about_community-guide.md.CJg2hvND.lean.js200 JS269 ms11 kB"Netlify Edge"; fwd=miss
/translations/200 HTML272 ms68 kB"Netlify Edge"; fwd=missTranslations | Vue.js
/guide/scaling-up/sfc200 HTML346 ms91 kB"Netlify Edge"; fwd=missSingle-File Components | Vue.js
/assets/guide_scaling-up_sfc.md.uVwv_Jxs.lean.js200 JS62 ms 3 kB"Netlify Edge"; hit
/assets/translations_index.md.LTrX1sk3.lean.js200 JS257 ms5 kB"Netlify Edge"; fwd=miss
/assets/guide_components_v-model.md.BExacbap.lean.js200 JS68 ms 9 kB"Netlify Edge"; hit
/assets/api_reactivity-core.md.DdJsEsTZ.lean.js200 JS66 ms 6 kB"Netlify Edge"; hit
/logo.svg200 Image60 ms 316 B"Netlify Edge"; hit
/guide/built-ins/teleport200 HTML85 ms 103 kB"Netlify Edge"; hitTeleport | Vue.js
/assets/guide_best-practices_security.md.L9t44YJk.lean.js200 JS66 ms 5 kB"Netlify Edge"; hit
/assets/guide_built-ins_teleport.md.BJ3Ie0W7.lean.js200 JS73 ms 3 kB"Netlify Edge"; hit
/api/reactivity-utilities200 HTML1.1 s 105 kB"Netlify Edge"; hitReactivity API: Utilities | Vue.js
/assets/tutorial_index.md.CEzD4zR-.lean.js200 JS68 ms 971 B"Netlify Edge"; hit
/assets/api_reactivity-utilities.md.gOQsKSyF.lean.js200 JS63 ms 4 kB"Netlify Edge"; hit
No rows found, please edit your search term.

Best practices

Found 10 row(s).
Analysis nameOKNoticeWarningCritical
Large inline SVGs (> 5120 B)24000
Invalid inline SVGs10014 0
Duplicate inline SVGs (> 5 and > 1024 B)24000
DOM depth (> 30)102000
Heading structure1132 85 2
Title uniqueness (> 10%)99000
Description uniqueness (> 10%)001 0
Brotli support101000
WebP support10000
AVIF support001 0
No rows found, please edit your search term.

Large inline SVGs

No problems found.


Duplicate inline SVGs

No problems found.


Invalid inline SVGs

Found 14 row(s).
SeverityOccursDetailAffected URLs (max 5)
critical101565 B
Found 3 error(s) in SVG. Errors:
  > Specification mandates value for attribute data-v-558b8a7d
  > Specification mandates value for attribute data-v-558b8a7d
  > Specification mandates value for attribute data-v-558b8a7d
URL 1, URL 2, URL 3, URL 4, URL 5
critical101640 B
Found 1 error(s) in SVG. Errors:
  > Specification mandates value for attribute data-v-a9474cb6
URL 1, URL 2, URL 3, URL 4, URL 5
critical92447 B
Found 1 error(s) in SVG. Errors:
  > Specification mandates value for attribute data-v-3eef872a
URL 1, URL 2, URL 3, URL 4, URL 5
critical84596 B
Found 1 error(s) in SVG. Errors:
  > Specification mandates value for attribute data-v-254afe28
URL 1, URL 2, URL 3, URL 4, URL 5
critical84735 B
Found 2 error(s) in SVG. Errors:
  > Specification mandates value for attribute data-v-6b569599
  > Specification mandates value for attribute data-v-6b569599
URL 1, URL 2, URL 3, URL 4, URL 5
critical83414 B
Found 1 error(s) in SVG. Errors:
  > Specification mandates value for attribute data-v-5bebdce4
URL 1, URL 2, URL 3, URL 4, URL 5
critical78425 B
Found 1 error(s) in SVG. Errors:
  > Specification mandates value for attribute data-v-969aaefa
URL 1, URL 2, URL 3, URL 4, URL 5
critical78422 B
Found 1 error(s) in SVG. Errors:
  > Specification mandates value for attribute data-v-969aaefa
URL 1, URL 2, URL 3, URL 4, URL 5
critical58423 B
Found 1 error(s) in SVG. Errors:
  > Specification mandates value for attribute data-v-e02760d0
URL 1, URL 2, URL 3, URL 4, URL 5
critical1795 B Play icon
Found 3 error(s) in SVG. Errors:
  > Specification mandates value for attribute data-v-bf2d099b
  > Specification mandates value for attribute data-v-bf2d099b
  > Specification mandates value for attribute data-v-bf2d099b
/
critical1435 B
Found 2 error(s) in SVG. Errors:
  > Specification mandates value for attribute data-v-67bd7632
  > Specification mandates value for attribute data-v-67bd7632
/
critical1735 B
Found 2 error(s) in SVG. Errors:
  > Specification mandates value for attribute data-v-67bd7632
  > Specification mandates value for attribute data-v-67bd7632
/
critical1337 B
Found 2 error(s) in SVG. Errors:
  > Specification mandates value for attribute data-v-d25d588c
  > Specification mandates value for attribute data-v-d25d588c
/guide/extras/animation
critical1555 B
Found 1 error(s) in SVG. Errors:
  > Specification mandates value for attribute data-v-f7e58630
/partners/all
No rows found, please edit your search term.

Missing quotes on attributes

No problems found.


DOM depth

No problems found.


Heading structure

SeverityOccursDetailAffected URLs (max 5)
critical49Multiple <h1> headings found.URL 1, URL 2
critical1No <h1> tag found in the HTML content./examples/
warning84Heading structure is skipping levels: found an <h2> without a previous higher heading.URL 1, URL 2, URL 3, URL 4, URL 5
warning1Heading structure is skipping levels: found an <h4> after an <h2>./
notice3No headings found in the HTML content.URL 1, URL 2, URL 3

Non-clickable phone numbers

No problems found.


Title uniqueness

No problems found.


Description uniqueness

No problems found.

Accessibility

Analysis nameOKNoticeWarningCritical
Missing image alt attributes7001 0
Missing aria labels92903580 17
Missing roles0011 0
Missing html lang attribute1000
Missing form labels007 0

Valid HTML

No problems found.


Missing image alt attributes

SeverityOccursDetailAffected URLs (max 5)
warning92<img ***>URL 1, URL 2, URL 3, URL 4, URL 5

Missing form labels

SeverityOccursDetailAffected URLs (max 5)
warning11<input ***>URL 1, URL 2, URL 3, URL 4, URL 5

Missing aria labels

Found 45 row(s).
SeverityOccursDetailAffected URLs (max 5)
critical11<input ***>URL 1, URL 2, URL 3, URL 4, URL 5
critical2<select>/guide/essentials/forms
critical1<input id="api-filter" ***>/api/
critical1<input id="checkbox-demo" ***>/guide/essentials/forms
critical1<input id="demo-jack" ***>/guide/essentials/forms
critical1<input id="demo-john" ***>/guide/essentials/forms
critical1<input id="demo-mike" ***>/guide/essentials/forms
critical1<input id="one" ***>/guide/essentials/forms
critical1<input id="two" ***>/guide/essentials/forms
critical1<textarea ***>/guide/essentials/forms
warning3333<a class="vt-link link vt-menu-link" ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning3305<a class="link" ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning1600<a ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning1335<button class="copy" ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning1212<a class="vt-locales-menu-item-text" ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning1212<a class="vt-locales-btn-icon-container" ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning683<a class="outline-link" ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning606<a class="vt-social-link is-small" ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning374<a class="vt-link link VPNavBarMenuLink" ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning303<button class="vt-flyout-button" ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning126<a class="vt-link link" ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning101<a class="VPSkipLink visually-hidden" ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning101<a class="VPNavBarTitle" ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning93<a class="sponsor-item action" ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning92<a class="viteconf-cta-aside" ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning91<a class="sponsors-aside-text" ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning85<a class="security" ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning84<button class="menu" ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning83<button class="">URL 1, URL 2, URL 3, URL 4, URL 5
warning82<a class="link active" ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning78<a class="prev-link" ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning78<a class="next-link" ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning59<a class="switch-link" ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning48<a class="vt-link link ThemeProduct" ***>/ecosystem/themes
warning30<a class="vt-link link VPNavBarMenuLink active" ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning17<button>URL 1, URL 2, URL 3, URL 4, URL 5
warning8<a class="vt-link link action-link" ***>/ecosystem/themes
warning6<a class="vt-box" ***>URL 1, URL 2
warning3<a class="vt-link link link" ***>URL 1, URL 2, URL 3
warning2<a class="browse-all" ***>/partners/
warning2<a class="join" ***>URL 1, URL 2
warning1<a id="vuemastery-action" class="why-vue" ***>/
warning1<a class="get-started" ***>/
warning1<a class="setup" ***>/
warning1<button ***>/guide/built-ins/transition
No rows found, please edit your search term.

Missing roles

Found 10 row(s).
SeverityOccursDetailAffected URLs (max 5)
warning101<nav class="VPNavBarMenu menu" ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning101<main>URL 1, URL 2, URL 3, URL 4, URL 5
warning92<nav ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning84<nav id="VPSidebarNav" ***>URL 1, URL 2, URL 3, URL 4, URL 5
warning84<aside class="VPSidebar">URL 1, URL 2, URL 3, URL 4, URL 5
warning84<header class="VPNav nav-bar">URL 1, URL 2, URL 3, URL 4, URL 5
warning81<footer class="VPContentDocFooter">URL 1, URL 2, URL 3, URL 4, URL 5
warning17<header class="VPNav nav-bar stick">URL 1, URL 2, URL 3, URL 4, URL 5
warning1<nav class="table-of-contents">/glossary/
warning1<aside class="ThemeContact">/ecosystem/themes
No rows found, please edit your search term.

Missing html lang attribute

No problems found.

Security

HeaderOKNoticeWarningCriticalRecommendation
X-XSS-Protection000101X-XSS-Protection header is not set. It enables browser's built-in defenses against XSS attacks.
X-Frame-Options001010X-Frame-Options header is set to 'ALLOW-FROM https://staging.certification.vuejs.org https://certification.vuejs.org https://certificates.dev https://staging.certificates.dev https://alemira.com https://*.alemira.com' which allows this origin to embed the resource in a frame. This can be a security risk.
X-Content-Type-Options001010X-Content-Type-Options header is not set. It stops MIME type sniffing and mitigates content type attacks.
Referrer-Policy001010Referrer-Policy header is not set. It controls referrer header sharing and enhances privacy and security.
Feature-Policy001010Feature-Policy header is not set. It allows enabling/disabling browser APIs and features for security. Not important if Permissions-Policy is set.
Permissions-Policy001010Permissions-Policy header is not set. It allows enabling/disabling browser APIs and features for security.
Server010100Server header is set to 'Netlify'. It is better not to reveal used technologies.
Strict-Transport-Security101000
Content-Security-Policy101000

Security headers

SeverityOccursDetailAffected URLs (max 5)
critical101X-XSS-Protection header is not set. It enables browser's built-in defenses against XSS attacks.URL 1, URL 2, URL 3, URL 4, URL 5
warning101X-Frame-Options header is set to 'ALLOW-FROM https://staging.certification.vuejs.org https://certification.vuejs.org https://certificates.dev https://staging.certificates.dev https://alemira.com https://*.alemira.com' which allows this origin to embed the resource in a frame. This can be a security risk.URL 1, URL 2, URL 3, URL 4, URL 5
warning101X-Content-Type-Options header is not set. It stops MIME type sniffing and mitigates content type attacks.URL 1, URL 2, URL 3, URL 4, URL 5
warning101Referrer-Policy header is not set. It controls referrer header sharing and enhances privacy and security.URL 1, URL 2, URL 3, URL 4, URL 5
warning101Feature-Policy header is not set. It allows enabling/disabling browser APIs and features for security. Not important if Permissions-Policy is set.URL 1, URL 2, URL 3, URL 4, URL 5
warning101Permissions-Policy header is not set. It allows enabling/disabling browser APIs and features for security.URL 1, URL 2, URL 3, URL 4, URL 5
notice101Server header is set to 'Netlify'. It is better not to reveal used technologies.URL 1, URL 2, URL 3, URL 4, URL 5

TOP non-unique titles

Count 🔽Title
3Vue.js

TOP non-unique descriptions

Count 🔽Description
101Vue.js - The Progressive JavaScript Framework

SEO metadata

Found 101 row(s).
URL 🔼IndexingTitleH1DescriptionKeywords
/AllowedVue.js - The Progressive JavaScript Framework | Vue.jsThe ProgressiveJavaScript FrameworkVue.js - The Progressive JavaScript Framework
/about/cocAllowedCode Of Conduct | Vue.jsCode Of Conduct ​Vue.js - The Progressive JavaScript Framework
/about/community-guideAllowedCommunity Guide | Vue.jsCommunity Guide ​Vue.js - The Progressive JavaScript Framework
/about/faqAllowedFrequently Asked Questions | Vue.jsFrequently Asked Questions ​Vue.js - The Progressive JavaScript Framework
/about/privacyAllowedVue.js Privacy Policy | Vue.jsVue.js Privacy Policy ​Vue.js - The Progressive JavaScript Framework
/about/releasesAllowedReleases | Vue.jsReleases ​Vue.js - The Progressive JavaScript Framework
/about/teamAllowedMeet the Team | Vue.jsMeet the TeamVue.js - The Progressive JavaScript Framework
/api/AllowedAPI Reference | Vue.jsAPI ReferenceVue.js - The Progressive JavaScript Framework
/api/applicationAllowedApplication API | Vue.jsApplication API ​Vue.js - The Progressive JavaScript Framework
/api/built-in-componentsAllowedBuilt-in Components | Vue.jsBuilt-in Components ​Vue.js - The Progressive JavaScript Framework
/api/built-in-directivesAllowedBuilt-in Directives | Vue.jsBuilt-in Directives ​Vue.js - The Progressive JavaScript Framework
/api/built-in-special-attributesAllowedBuilt-in Special Attributes | Vue.jsBuilt-in Special Attributes ​Vue.js - The Progressive JavaScript Framework
/api/built-in-special-elementsAllowedBuilt-in Special Elements | Vue.jsBuilt-in Special Elements ​Vue.js - The Progressive JavaScript Framework
/api/compile-time-flagsAllowedCompile-Time Flags | Vue.jsCompile-Time Flags ​Vue.js - The Progressive JavaScript Framework
/api/component-instanceAllowedComponent Instance | Vue.jsComponent Instance ​Vue.js - The Progressive JavaScript Framework
/api/composition-api-dependency-injectionAllowedComposition API: Dependency Injection | Vue.jsComposition API: Dependency Injection ​Vue.js - The Progressive JavaScript Framework
/api/composition-api-lifecycleAllowedComposition API: Lifecycle Hooks | Vue.jsComposition API: Lifecycle Hooks ​Vue.js - The Progressive JavaScript Framework
/api/composition-api-setupAllowedComposition API: setup() | Vue.jsComposition API: setup() ​Vue.js - The Progressive JavaScript Framework
/api/custom-rendererAllowedCustom Renderer API | Vue.jsCustom Renderer API ​Vue.js - The Progressive JavaScript Framework
/api/generalAllowedGlobal API: General | Vue.jsGlobal API: General ​Vue.js - The Progressive JavaScript Framework
/api/options-compositionAllowedOptions: Composition | Vue.jsOptions: Composition ​Vue.js - The Progressive JavaScript Framework
/api/options-lifecycleAllowedOptions: Lifecycle | Vue.jsOptions: Lifecycle ​Vue.js - The Progressive JavaScript Framework
/api/options-miscAllowedOptions: Misc | Vue.jsOptions: Misc ​Vue.js - The Progressive JavaScript Framework
/api/options-renderingAllowedOptions: Rendering | Vue.jsOptions: Rendering ​Vue.js - The Progressive JavaScript Framework
/api/options-stateAllowedOptions: State | Vue.jsOptions: State ​Vue.js - The Progressive JavaScript Framework
/api/reactivity-advancedAllowedReactivity API: Advanced | Vue.jsReactivity API: Advanced ​Vue.js - The Progressive JavaScript Framework
/api/reactivity-coreAllowedReactivity API: Core | Vue.jsReactivity API: Core ​Vue.js - The Progressive JavaScript Framework
/api/reactivity-utilitiesAllowedReactivity API: Utilities | Vue.jsReactivity API: Utilities ​Vue.js - The Progressive JavaScript Framework
/api/render-functionAllowedRender Function APIs | Vue.jsRender Function APIs ​Vue.js - The Progressive JavaScript Framework
/api/sfc-css-featuresAllowedSFC CSS Features | Vue.jsSFC CSS Features ​Vue.js - The Progressive JavaScript Framework
/api/sfc-script-setupAllowed<script setup> | Vue.js&lt;script setup&gt; ​Vue.js - The Progressive JavaScript Framework
/api/sfc-specAllowedSFC Syntax Specification | Vue.jsSFC Syntax Specification ​Vue.js - The Progressive JavaScript Framework
/api/ssrAllowedServer-Side Rendering API | Vue.jsServer-Side Rendering API ​Vue.js - The Progressive JavaScript Framework
/api/utility-typesAllowedUtility Types | Vue.jsUtility Types ​Vue.js - The Progressive JavaScript Framework
/ecosystem/newslettersAllowedCommunity Newsletters | Vue.jsCommunity Newsletters ​Vue.js - The Progressive JavaScript Framework
/ecosystem/themesAllowedVue.jsThemesVue.js - The Progressive JavaScript Framework
/error-reference/AllowedProduction Error Code Reference | Vue.jsProduction Error Code Reference ​Vue.js - The Progressive JavaScript Framework
/examples/AllowedExamples | Vue.jsMissing H1Vue.js - The Progressive JavaScript Framework
/glossary/AllowedGlossary | Vue.jsGlossary ​Vue.js - The Progressive JavaScript Framework
/guide/best-practices/accessibilityAllowedAccessibility | Vue.jsAccessibility ​Vue.js - The Progressive JavaScript Framework
/guide/best-practices/performanceAllowedPerformance | Vue.jsPerformance ​Vue.js - The Progressive JavaScript Framework
/guide/best-practices/production-deploymentAllowedProduction Deployment | Vue.jsProduction Deployment ​Vue.js - The Progressive JavaScript Framework
/guide/best-practices/securityAllowedSecurity | Vue.jsSecurity ​Vue.js - The Progressive JavaScript Framework
/guide/built-ins/keep-aliveAllowedKeepAlive | Vue.jsKeepAlive ​Vue.js - The Progressive JavaScript Framework
/guide/built-ins/suspenseAllowedSuspense | Vue.jsSuspense ​Vue.js - The Progressive JavaScript Framework
/guide/built-ins/teleportAllowedTeleport | Vue.jsTeleport ​Vue.js - The Progressive JavaScript Framework
/guide/built-ins/transitionAllowedTransition | Vue.jsTransition ​Vue.js - The Progressive JavaScript Framework
/guide/built-ins/transition-groupAllowedTransitionGroup | Vue.jsTransitionGroup ​Vue.js - The Progressive JavaScript Framework
/guide/components/asyncAllowedAsync Components | Vue.jsAsync Components ​Vue.js - The Progressive JavaScript Framework
/guide/components/attrsAllowedFallthrough Attributes | Vue.jsFallthrough Attributes ​Vue.js - The Progressive JavaScript Framework
/guide/components/eventsAllowedComponent Events | Vue.jsComponent Events ​Vue.js - The Progressive JavaScript Framework
/guide/components/propsAllowedProps | Vue.jsProps ​Vue.js - The Progressive JavaScript Framework
/guide/components/provide-injectAllowedProvide / Inject | Vue.jsProvide / Inject ​Vue.js - The Progressive JavaScript Framework
/guide/components/registrationAllowedComponent Registration | Vue.jsComponent Registration ​Vue.js - The Progressive JavaScript Framework
/guide/components/slotsAllowedSlots | Vue.jsSlots ​Vue.js - The Progressive JavaScript Framework
/guide/components/v-modelAllowedComponent v-model | Vue.jsComponent v-model ​Vue.js - The Progressive JavaScript Framework
/guide/essentials/applicationAllowedCreating a Vue Application | Vue.jsCreating a Vue Application ​Vue.js - The Progressive JavaScript Framework
/guide/essentials/class-and-styleAllowedClass and Style Bindings | Vue.jsClass and Style Bindings ​Vue.js - The Progressive JavaScript Framework
/guide/essentials/component-basicsAllowedComponents Basics | Vue.jsComponents Basics ​Vue.js - The Progressive JavaScript Framework
/guide/essentials/computedAllowedComputed Properties | Vue.jsComputed Properties ​Vue.js - The Progressive JavaScript Framework
/guide/essentials/conditionalAllowedConditional Rendering | Vue.jsConditional Rendering ​Vue.js - The Progressive JavaScript Framework
/guide/essentials/event-handlingAllowedEvent Handling | Vue.jsEvent Handling ​Vue.js - The Progressive JavaScript Framework
/guide/essentials/formsAllowedForm Input Bindings | Vue.jsForm Input Bindings ​Vue.js - The Progressive JavaScript Framework
/guide/essentials/lifecycleAllowedLifecycle Hooks | Vue.jsLifecycle Hooks ​Vue.js - The Progressive JavaScript Framework
/guide/essentials/listAllowedList Rendering | Vue.jsList Rendering ​Vue.js - The Progressive JavaScript Framework
/guide/essentials/reactivity-fundamentalsAllowedReactivity Fundamentals | Vue.jsReactivity Fundamentals ​Vue.js - The Progressive JavaScript Framework
/guide/essentials/template-refsAllowedTemplate Refs | Vue.jsTemplate Refs ​Vue.js - The Progressive JavaScript Framework
/guide/essentials/template-syntaxAllowedTemplate Syntax | Vue.jsTemplate Syntax ​Vue.js - The Progressive JavaScript Framework
/guide/essentials/watchersAllowedWatchers | Vue.jsWatchers ​Vue.js - The Progressive JavaScript Framework
/guide/extras/animationAllowedAnimation Techniques | Vue.jsAnimation Techniques ​Vue.js - The Progressive JavaScript Framework
/guide/extras/composition-api-faqAllowedComposition API FAQ | Vue.jsComposition API FAQ ​Vue.js - The Progressive JavaScript Framework
/guide/extras/reactivity-in-depthAllowedReactivity in Depth | Vue.jsReactivity in Depth ​Vue.js - The Progressive JavaScript Framework
/guide/extras/reactivity-transformAllowedReactivity Transform | Vue.jsReactivity Transform ​Vue.js - The Progressive JavaScript Framework
/guide/extras/render-functionAllowedRender Functions & JSX | Vue.jsRender Functions &amp; JSX ​Vue.js - The Progressive JavaScript Framework
/guide/extras/rendering-mechanismAllowedRendering Mechanism | Vue.jsRendering Mechanism ​Vue.js - The Progressive JavaScript Framework
/guide/extras/ways-of-using-vueAllowedWays of Using Vue | Vue.jsWays of Using Vue ​Vue.js - The Progressive JavaScript Framework
/guide/extras/web-componentsAllowedVue and Web Components | Vue.jsVue and Web Components ​Vue.js - The Progressive JavaScript Framework
/guide/introductionAllowedIntroduction | Vue.jsIntroduction ​Vue.js - The Progressive JavaScript Framework
/guide/quick-startAllowedQuick Start | Vue.jsQuick Start ​Vue.js - The Progressive JavaScript Framework
/guide/reusability/composablesAllowedComposables | Vue.jsComposables ​Vue.js - The Progressive JavaScript Framework
/guide/reusability/custom-directivesAllowedCustom Directives | Vue.jsCustom Directives ​Vue.js - The Progressive JavaScript Framework
/guide/reusability/pluginsAllowedPlugins | Vue.jsPlugins ​Vue.js - The Progressive JavaScript Framework
/guide/scaling-up/routingAllowedRouting | Vue.jsRouting ​Vue.js - The Progressive JavaScript Framework
/guide/scaling-up/sfcAllowedSingle-File Components | Vue.jsSingle-File Components ​Vue.js - The Progressive JavaScript Framework
/guide/scaling-up/ssrAllowedServer-Side Rendering (SSR) | Vue.jsServer-Side Rendering (SSR) ​Vue.js - The Progressive JavaScript Framework
/guide/scaling-up/state-managementAllowedState Management | Vue.jsState Management ​Vue.js - The Progressive JavaScript Framework
/guide/scaling-up/testingAllowedTesting | Vue.jsTesting ​Vue.js - The Progressive JavaScript Framework
/guide/scaling-up/toolingAllowedTooling | Vue.jsTooling ​Vue.js - The Progressive JavaScript Framework
/guide/typescript/composition-apiAllowedTypeScript with Composition API | Vue.jsTypeScript with Composition API ​Vue.js - The Progressive JavaScript Framework
/guide/typescript/options-apiAllowedTypeScript with Options API | Vue.jsTypeScript with Options API ​Vue.js - The Progressive JavaScript Framework
/guide/typescript/overviewAllowedUsing Vue with TypeScript | Vue.jsUsing Vue with TypeScript ​Vue.js - The Progressive JavaScript Framework
/partners/AllowedVue.jsVue PartnersVue.js - The Progressive JavaScript Framework
/partners/allAllowedVue.jsBrowser All PartnersVue.js - The Progressive JavaScript Framework
/sponsor/AllowedBecome a Vue.js Sponsor | Vue.jsBecome a Vue.js Sponsor ​Vue.js - The Progressive JavaScript Framework
/style-guide/AllowedStyle Guide | Vue.jsStyle Guide ​Vue.js - The Progressive JavaScript Framework
/style-guide/rules-essentialAllowedPriority A Rules: Essential | Vue.jsPriority A Rules: Essential ​Vue.js - The Progressive JavaScript Framework
/style-guide/rules-recommendedAllowedPriority C Rules: Recommended | Vue.jsPriority C Rules: Recommended ​Vue.js - The Progressive JavaScript Framework
/style-guide/rules-strongly-recommendedAllowedPriority B Rules: Strongly Recommended | Vue.jsPriority B Rules: Strongly Recommended ​Vue.js - The Progressive JavaScript Framework
/style-guide/rules-use-with-cautionAllowedPriority D Rules: Use with Caution | Vue.jsPriority D Rules: Use with Caution ​Vue.js - The Progressive JavaScript Framework
/translations/AllowedTranslations | Vue.jsTranslations ​Vue.js - The Progressive JavaScript Framework
/tutorial/AllowedTutorial | Vue.jsMissing H1Vue.js - The Progressive JavaScript Framework
No rows found, please edit your search term.

OpenGraph metadata

Found 101 row(s).
URL 🔼OG TitleOG DescriptionOG ImageTwitter TitleTwitter DescriptionTwitter Image
/Vue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/about/cocVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/about/community-guideVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/about/faqVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/about/privacyVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/about/releasesVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/about/teamVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/api/Vue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/api/applicationVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/api/built-in-componentsVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/api/built-in-directivesVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/api/built-in-special-attributesVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/api/built-in-special-elementsVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/api/compile-time-flagsVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/api/component-instanceVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/api/composition-api-dependency-injectionVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/api/composition-api-lifecycleVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/api/composition-api-setupVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/api/custom-rendererVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/api/generalVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/api/options-compositionVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/api/options-lifecycleVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/api/options-miscVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/api/options-renderingVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/api/options-stateVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/api/reactivity-advancedVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/api/reactivity-coreVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/api/reactivity-utilitiesVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/api/render-functionVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/api/sfc-css-featuresVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/api/sfc-script-setupVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/api/sfc-specVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/api/ssrVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/api/utility-typesVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/ecosystem/newslettersVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/ecosystem/themesVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/error-reference/Vue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/examples/Vue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/glossary/Vue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/guide/best-practices/accessibilityVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/guide/best-practices/performanceVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/guide/best-practices/production-deploymentVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/guide/best-practices/securityVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/guide/built-ins/keep-aliveVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/guide/built-ins/suspenseVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/guide/built-ins/teleportVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/guide/built-ins/transitionVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/guide/built-ins/transition-groupVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/guide/components/asyncVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/guide/components/attrsVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/guide/components/eventsVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/guide/components/propsVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/guide/components/provide-injectVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/guide/components/registrationVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/guide/components/slotsVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/guide/components/v-modelVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/guide/essentials/applicationVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/guide/essentials/class-and-styleVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/guide/essentials/component-basicsVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/guide/essentials/computedVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/guide/essentials/conditionalVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/guide/essentials/event-handlingVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/guide/essentials/formsVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/guide/essentials/lifecycleVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/guide/essentials/listVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/guide/essentials/reactivity-fundamentalsVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/guide/essentials/template-refsVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/guide/essentials/template-syntaxVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/guide/essentials/watchersVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/guide/extras/animationVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/guide/extras/composition-api-faqVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/guide/extras/reactivity-in-depthVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/guide/extras/reactivity-transformVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/guide/extras/render-functionVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/guide/extras/rendering-mechanismVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/guide/extras/ways-of-using-vueVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/guide/extras/web-componentsVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/guide/introductionVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/guide/quick-startVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/guide/reusability/composablesVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/guide/reusability/custom-directivesVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/guide/reusability/pluginsVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/guide/scaling-up/routingVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/guide/scaling-up/sfcVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/guide/scaling-up/ssrVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/guide/scaling-up/state-managementVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/guide/scaling-up/testingVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/guide/scaling-up/toolingVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/guide/typescript/composition-apiVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/guide/typescript/options-apiVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/guide/typescript/overviewVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/partners/Vue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/partners/allVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/sponsor/Vue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/style-guide/Vue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/style-guide/rules-essentialVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/style-guide/rules-recommendedVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/style-guide/rules-strongly-recommendedVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/style-guide/rules-use-with-cautionVue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/translations/Vue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
/tutorial/Vue.jsVue.js - The Progressive JavaScript Frameworkhttps://vuejs.org/images/logo.png
No rows found, please edit your search term.

Heading structure

Found 101 row(s).
Heading structureCountErrors 🔽URL
  • <h1> Themes
    • <h2> Creative Tim
  • <h1> Vue Argon Design System
  • <h1> Vue Black Dashboard Pro
  • <h1> Vue Paper Dashboard 2 Pro
  • <h1> Vue Material Kit
  • <h1> Vue Black Dashboard
  • <h1> Vue Now UI Kit Pro
    • <h2> MDBootstrap
  • <h1> Vue Material Bootstrap Pro
  • <h1> Vue Material Bootstrap Kit
  • <h1> Vue Admin Bootstrap Pro
  • <h1> Vue Admin Bootstrap
  • <h1> Vue Calendar Bootstrap
  • <h1> Vue Color Picker Bootstrap
    • <h2> PrimeVue
  • <h1> Sakai
  • <h1> Apollo
  • <h1> Atlantis
  • <h1> Freya
  • <h1> Ultima
  • <h1> Diamond
    • <h2> Flatlogic
  • <h1> Sing App Vue
  • <h1> Sing App Vue Node.js
  • <h1> Light Blue Vue
  • <h1> Light Blue Vue Admin
  • <h1> Sing App Vue Dashboard
  • <h1> Light Blue Vue Node.js
    • <h2> WrapPixel
  • <h1> Spike Free VueJs Admin Template
  • <h1> Spike Vue3 Admin Dashboard
  • <h1> MaterialPro Vue3 Admin Dashboard
  • <h1> Free MaterialPro Vuetify Admin
  • <h1> Free AdminPro VueJs Lite
  • <h1> AdminPro Vue3 + Vuetify Dashboard
    • <h2> CodedThemes
  • <h1> Free Berry Vuetify VueJs Admin Template
  • <h1> Berry Vue3 Admin Dashboard
  • <h1> Mantis Vue3 Admin Dashboard
  • <h1> Free Mantis Vuetify VueJs Admin Template
  • <h1> Free Able Pro VueJs
  • <h1> Able Pro Vue3 + Vuetify Dashboard
    • <h2> ThemeSelection
  • <h1> Materio - Vue Admin Template
  • <h1> Materio - Vue Admin Template
  • <h1> Sneat - Vue Laravel Admin
  • <h1> Sneat - Vue Laravel Admin
  • <h1> Materio - NuxtJS Dashboard
  • <h1> Materio - NuxtJS Dashboard
    • <h2> AdminMart
  • <h1> Matdash Free Vuejs Admin Dashboard
  • <h1> Matdash Vuejs Admin Dashboard
  • <h1> Modernize Vuetify 3 &amp; Vue 3 Admin Dashboard
  • <h1> Modernize Free Vuetify + Vue js Admin Dashboard
  • <h1> Modernize Free NuxtJs Admin Dashboard Template
  • <h1> Modernize Nuxt Js Admin Dashboard
5749/ecosystem/themes
  • <h2> Getting Started
  • <h2> Essentials
  • <h2> Components In-Depth
  • <h2> Reusability
  • <h2> Built-in Components
  • <h2> Scaling Up
  • <h2> Best Practices
  • <h2> TypeScript
  • <h2> Extra Topics
  • <h1> Conditional Rendering ​ [#conditional-rendering]
    • <h2> v-if ​ [#v-if]
    • <h2> v-else ​ [#v-else]
  • <h1> Vue is awesome!
    • <h2> v-else-if ​ [#v-else-if]
    • <h2> v-if on &lt;template&gt; ​ [#v-if-on-template]
    • <h2> v-show ​ [#v-show]
    • <h2> v-if vs. v-show ​ [#v-if-vs-v-show]
    • <h2> v-if with v-for ​ [#v-if-with-v-for]
1811/guide/essentials/conditional
  • <h2> Getting Started
  • <h2> Essentials
  • <h2> Components In-Depth
  • <h2> Reusability
  • <h2> Built-in Components
  • <h2> Scaling Up
  • <h2> Best Practices
  • <h2> TypeScript
  • <h2> Extra Topics
  • <h1> Introduction ​ [#introduction]
    • <h2> What is Vue? ​ [#what-is-vue]
    • <h2> The Progressive Framework ​ [#the-progressive-framework]
    • <h2> Single-File Components ​ [#single-file-components]
    • <h2> API Styles ​ [#api-styles]
      • <h3> Options API ​ [#options-api]
      • <h3> Composition API ​ [#composition-api]
      • <h3> Which to Choose? ​ [#which-to-choose]
    • <h2> Still Got Questions? ​ [#still-got-questions]
    • <h2> Pick Your Learning Path ​ [#pick-your-learning-path]
199/guide/introduction
  • <h2> Getting Started
  • <h2> Essentials
  • <h2> Components In-Depth
  • <h2> Reusability
  • <h2> Built-in Components
  • <h2> Scaling Up
  • <h2> Best Practices
  • <h2> TypeScript
  • <h2> Extra Topics
  • <h1> Production Deployment ​ [#production-deployment]
    • <h2> Development vs. Production ​ [#development-vs-production]
    • <h2> Without Build Tools ​ [#without-build-tools]
    • <h2> With Build Tools ​ [#with-build-tools]
    • <h2> Tracking Runtime Errors ​ [#tracking-runtime-errors]
149/guide/best-practices/production-deployment
  • <h2> Getting Started
  • <h2> Essentials
  • <h2> Components In-Depth
  • <h2> Reusability
  • <h2> Built-in Components
  • <h2> Scaling Up
  • <h2> Best Practices
  • <h2> TypeScript
  • <h2> Extra Topics
  • <h1> Suspense ​ [#suspense]
    • <h2> Async Dependencies ​ [#async-dependencies]
      • <h3> async setup() ​ [#async-setup]
      • <h3> Async Components ​ [#async-components]
    • <h2> Loading State ​ [#loading-state]
    • <h2> Events ​ [#events]
    • <h2> Error Handling ​ [#error-handling]
    • <h2> Combining with Other Components ​ [#combining-with-other-components]
    • <h2> Nested Suspense ​ [#nested-suspense]
189/guide/built-ins/suspense
  • <h2> Getting Started
  • <h2> Essentials
  • <h2> Components In-Depth
  • <h2> Reusability
  • <h2> Built-in Components
  • <h2> Scaling Up
  • <h2> Best Practices
  • <h2> TypeScript
  • <h2> Extra Topics
  • <h1> Using Vue with TypeScript ​ [#using-vue-with-typescript]
    • <h2> Project Setup ​ [#project-setup]
      • <h3> Overview ​ [#overview]
      • <h3> IDE Support ​ [#ide-support]
      • <h3> Configuring tsconfig.json ​ [#configuring-tsconfig-json]
      • <h3> Note on Vue CLI and ts-loader ​ [#note-on-vue-cli-and-ts-loader]
    • <h2> General Usage Notes ​ [#general-usage-notes]
      • <h3> defineComponent() ​ [#definecomponent]
      • <h3> Usage in Single-File Components ​ [#usage-in-single-file-components]
      • <h3> TypeScript in Templates ​ [#typescript-in-templates]
      • <h3> Usage with TSX ​ [#usage-with-tsx]
    • <h2> Generic Components ​ [#generic-components]
    • <h2> API-Specific Recipes ​ [#api-specific-recipes]
229/guide/typescript/overview
  • <h2> Getting Started
  • <h2> Essentials
  • <h2> Components In-Depth
  • <h2> Reusability
  • <h2> Built-in Components
  • <h2> Scaling Up
  • <h2> Best Practices
  • <h2> TypeScript
  • <h2> Extra Topics
  • <h1> Creating a Vue Application ​ [#creating-a-vue-application]
    • <h2> The application instance ​ [#the-application-instance]
    • <h2> The Root Component ​ [#the-root-component]
    • <h2> Mounting the App ​ [#mounting-the-app]
      • <h3> In-DOM Root Component Template ​ [#in-dom-root-component-template]
    • <h2> App Configurations ​ [#app-configurations]
    • <h2> Multiple application instances ​ [#multiple-application-instances]
169/guide/essentials/application
  • <h2> Getting Started
  • <h2> Essentials
  • <h2> Components In-Depth
  • <h2> Reusability
  • <h2> Built-in Components
  • <h2> Scaling Up
  • <h2> Best Practices
  • <h2> TypeScript
  • <h2> Extra Topics
  • <h1> Animation Techniques ​ [#animation-techniques]
    • <h2> Class-based Animations ​ [#class-based-animations]
    • <h2> State-driven Animations ​ [#state-driven-animations]
    • <h2> Animating with Watchers ​ [#animating-with-watchers]
139/guide/extras/animation
  • <h2> Getting Started
  • <h2> Essentials
  • <h2> Components In-Depth
  • <h2> Reusability
  • <h2> Built-in Components
  • <h2> Scaling Up
  • <h2> Best Practices
  • <h2> TypeScript
  • <h2> Extra Topics
  • <h1> KeepAlive ​ [#keepalive]
    • <h2> Basic Usage ​ [#basic-usage]
    • <h2> Include / Exclude ​ [#include-exclude]
    • <h2> Max Cached Instances ​ [#max-cached-instances]
    • <h2> Lifecycle of Cached Instance ​ [#lifecycle-of-cached-instance]
149/guide/built-ins/keep-alive
  • <h2> Getting Started
  • <h2> Essentials
  • <h2> Components In-Depth
  • <h2> Reusability
  • <h2> Built-in Components
  • <h2> Scaling Up
  • <h2> Best Practices
  • <h2> TypeScript
  • <h2> Extra Topics
  • <h1> Provide / Inject ​ [#provide-inject]
    • <h2> Prop Drilling ​ [#prop-drilling]
    • <h2> Provide ​ [#provide]
    • <h2> App-level Provide ​ [#app-level-provide]
    • <h2> Inject ​ [#inject]
      • <h3> Injection Aliasing ​ [#injection-aliasing]
      • <h3> Injection Default Values ​ [#injection-default-values]
    • <h2> Working with Reactivity ​ [#working-with-reactivity]
    • <h2> Working with Symbol Keys ​ [#working-with-symbol-keys]
189/guide/components/provide-inject
  • <h2> Getting Started
  • <h2> Essentials
  • <h2> Components In-Depth
  • <h2> Reusability
  • <h2> Built-in Components
  • <h2> Scaling Up
  • <h2> Best Practices
  • <h2> TypeScript
  • <h2> Extra Topics
  • <h1> Async Components ​ [#async-components]
    • <h2> Basic Usage ​ [#basic-usage]
    • <h2> Loading and Error States ​ [#loading-and-error-states]
    • <h2> Using with Suspense ​ [#using-with-suspense]
139/guide/components/async
  • <h2> Getting Started
  • <h2> Essentials
  • <h2> Components In-Depth
  • <h2> Reusability
  • <h2> Built-in Components
  • <h2> Scaling Up
  • <h2> Best Practices
  • <h2> TypeScript
  • <h2> Extra Topics
  • <h1> Reactivity in Depth ​ [#reactivity-in-depth]
    • <h2> What is Reactivity? ​ [#what-is-reactivity]
    • <h2> How Reactivity Works in Vue ​ [#how-reactivity-works-in-vue]
    • <h2> Runtime vs. Compile-time Reactivity ​ [#runtime-vs-compile-time-reactivity]
    • <h2> Reactivity Debugging ​ [#reactivity-debugging]
      • <h3> Component Debugging Hooks ​ [#component-debugging-hooks]
      • <h3> Computed Debugging ​ [#computed-debugging]
      • <h3> Watcher Debugging ​ [#watcher-debugging]
    • <h2> Integration with External State Systems ​ [#integration-with-external-state-systems]
      • <h3> Immutable Data ​ [#immutable-data]
      • <h3> State Machines ​ [#state-machines]
      • <h3> RxJS ​ [#rxjs]
    • <h2> Connection to Signals ​ [#connection-to-signals]
      • <h3> API Design Trade-Offs ​ [#api-design-trade-offs]
239/guide/extras/reactivity-in-depth
  • <h2> Getting Started
  • <h2> Essentials
  • <h2> Components In-Depth
  • <h2> Reusability
  • <h2> Built-in Components
  • <h2> Scaling Up
  • <h2> Best Practices
  • <h2> TypeScript
  • <h2> Extra Topics
  • <h1> Ways of Using Vue ​ [#ways-of-using-vue]
    • <h2> Standalone Script ​ [#standalone-script]
    • <h2> Embedded Web Components ​ [#embedded-web-components]
    • <h2> Single-Page Application (SPA) ​ [#single-page-application-spa]
    • <h2> Fullstack / SSR ​ [#fullstack-ssr]
    • <h2> JAMStack / SSG ​ [#jamstack-ssg]
    • <h2> Beyond the Web ​ [#beyond-the-web]
169/guide/extras/ways-of-using-vue
  • <h2> Getting Started
  • <h2> Essentials
  • <h2> Components In-Depth
  • <h2> Reusability
  • <h2> Built-in Components
  • <h2> Scaling Up
  • <h2> Best Practices
  • <h2> TypeScript
  • <h2> Extra Topics
  • <h1> Template Syntax ​ [#template-syntax]
    • <h2> Text Interpolation ​ [#text-interpolation]
    • <h2> Raw HTML ​ [#raw-html]
    • <h2> Attribute Bindings ​ [#attribute-bindings]
      • <h3> Shorthand ​ [#shorthand]
      • <h3> Same-name Shorthand ​ [#same-name-shorthand]
      • <h3> Boolean Attributes ​ [#boolean-attributes]
      • <h3> Dynamically Binding Multiple Attributes ​ [#dynamically-binding-multiple-attributes]
    • <h2> Using JavaScript Expressions ​ [#using-javascript-expressions]
      • <h3> Expressions Only ​ [#expressions-only]
      • <h3> Calling Functions ​ [#calling-functions]
      • <h3> Restricted Globals Access ​ [#restricted-globals-access]
    • <h2> Directives ​ [#directives]
      • <h3> Arguments ​ [#arguments]
      • <h3> Dynamic Arguments ​ [#dynamic-arguments]
      • <h3> Modifiers ​ [#modifiers]
259/guide/essentials/template-syntax
  • <h2> Getting Started
  • <h2> Essentials
  • <h2> Components In-Depth
  • <h2> Reusability
  • <h2> Built-in Components
  • <h2> Scaling Up
  • <h2> Best Practices
  • <h2> TypeScript
  • <h2> Extra Topics
  • <h1> Composition API FAQ ​ [#composition-api-faq]
    • <h2> What is Composition API? ​ [#what-is-composition-api]
    • <h2> Why Composition API? ​ [#why-composition-api]
      • <h3> Better Logic Reuse ​ [#better-logic-reuse]
      • <h3> More Flexible Code Organization ​ [#more-flexible-code-organization]
      • <h3> Better Type Inference ​ [#better-type-inference]
      • <h3> Smaller Production Bundle and Less Overhead ​ [#smaller-production-bundle-and-less-overhead]
    • <h2> Relationship with Options API ​ [#relationship-with-options-api]
      • <h3> Trade-offs ​ [#trade-offs]
      • <h3> Does Composition API cover all use cases? ​ [#does-composition-api-cover-all-use-cases]
      • <h3> Can I use both APIs in the same component? ​ [#can-i-use-both-apis-in-the-same-component]
      • <h3> Will Options API be deprecated? ​ [#will-options-api-be-deprecated]
    • <h2> Relationship with Class API ​ [#relationship-with-class-api]
    • <h2> Comparison with React Hooks ​ [#comparison-with-react-hooks]
239/guide/extras/composition-api-faq
  • <h2> Getting Started
  • <h2> Essentials
  • <h2> Components In-Depth
  • <h2> Reusability
  • <h2> Built-in Components
  • <h2> Scaling Up
  • <h2> Best Practices
  • <h2> TypeScript
  • <h2> Extra Topics
  • <h1> TypeScript with Options API ​ [#typescript-with-options-api]
    • <h2> Typing Component Props ​ [#typing-component-props]
      • <h3> Caveats ​ [#caveats]
    • <h2> Typing Component Emits ​ [#typing-component-emits]
    • <h2> Typing Computed Properties ​ [#typing-computed-properties]
    • <h2> Typing Event Handlers ​ [#typing-event-handlers]
    • <h2> Augmenting Global Properties ​ [#augmenting-global-properties]
      • <h3> Type Augmentation Placement ​ [#type-augmentation-placement]
    • <h2> Augmenting Custom Options ​ [#augmenting-custom-options]
189/guide/typescript/options-api
  • <h2> Getting Started
  • <h2> Essentials
  • <h2> Components In-Depth
  • <h2> Reusability
  • <h2> Built-in Components
  • <h2> Scaling Up
  • <h2> Best Practices
  • <h2> TypeScript
  • <h2> Extra Topics
  • <h1> Accessibility ​ [#accessibility]
    • <h2> Skip link ​ [#skip-link]
    • <h2> Content Structure ​ [#content-structure]
      • <h3> Headings ​ [#headings]
      • <h3> Landmarks ​ [#landmarks]
    • <h2> Semantic Forms ​ [#semantic-forms]
      • <h3> Labels ​ [#labels]
      • <h3> Placeholder ​ [#placeholder]
      • <h3> Instructions ​ [#instructions]
      • <h3> Hiding Content ​ [#hiding-content]
      • <h3> Buttons ​ [#buttons]
      • <h3> Functional Images ​ [#functional-images]
    • <h2> Standards ​ [#standards]
      • <h3> Web Content Accessibility Guidelines (WCAG) ​ [#web-content-accessibility-guidelines-wcag]
    • <h2> Resources ​ [#resources]
      • <h3> Documentation ​ [#documentation]
      • <h3> Assistive Technologies ​ [#assistive-technologies]
      • <h3> Testing ​ [#testing]
      • <h3> Users ​ [#users]
289/guide/best-practices/accessibility
  • <h2> Getting Started
  • <h2> Essentials
  • <h2> Components In-Depth
  • <h2> Reusability
  • <h2> Built-in Components
  • <h2> Scaling Up
  • <h2> Best Practices
  • <h2> TypeScript
  • <h2> Extra Topics
  • <h1> Composables ​ [#composables]
    • <h2> What is a "Composable"? ​ [#what-is-a-composable]
    • <h2> Mouse Tracker Example ​ [#mouse-tracker-example]
    • <h2> Async State Example ​ [#async-state-example]
      • <h3> Accepting Reactive State ​ [#accepting-reactive-state]
    • <h2> Conventions and Best Practices ​ [#conventions-and-best-practices]
      • <h3> Naming ​ [#naming]
      • <h3> Input Arguments ​ [#input-arguments]
      • <h3> Return Values ​ [#return-values]
      • <h3> Side Effects ​ [#side-effects]
      • <h3> Usage Restrictions ​ [#usage-restrictions]
    • <h2> Extracting Composables for Code Organization ​ [#extracting-composables-for-code-organization]
    • <h2> Using Composables in Options API ​ [#using-composables-in-options-api]
    • <h2> Comparisons with Other Techniques ​ [#comparisons-with-other-techniques]
      • <h3> vs. Mixins ​ [#vs-mixins]
      • <h3> vs. Renderless Components ​ [#vs-renderless-components]
      • <h3> vs. React Hooks ​ [#vs-react-hooks]
    • <h2> Further Reading ​ [#further-reading]
279/guide/reusability/composables
  • <h2> Getting Started
  • <h2> Essentials
  • <h2> Components In-Depth
  • <h2> Reusability
  • <h2> Built-in Components
  • <h2> Scaling Up
  • <h2> Best Practices
  • <h2> TypeScript
  • <h2> Extra Topics
  • <h1> Reactivity Fundamentals ​ [#reactivity-fundamentals]
    • <h2> Declaring Reactive State ​ [#declaring-reactive-state]
      • <h3> Reactive Proxy vs. Original ​ [#reactive-proxy-vs-original]
    • <h2> Declaring Reactive State ​ [#declaring-reactive-state-1]
      • <h3> ref() ​ [#ref]
      • <h3> &lt;script setup&gt; ​ [#script-setup]
      • <h3> Why Refs? ​ [#why-refs]
    • <h2> Declaring Methods ​ [#declaring-methods]
      • <h3> Deep Reactivity ​ [#deep-reactivity]
      • <h3> DOM Update Timing ​ [#dom-update-timing]
    • <h2> reactive() ​ [#reactive]
      • <h3> Reactive Proxy vs. Original ​ [#reactive-proxy-vs-original-1]
      • <h3> Limitations of reactive() ​ [#limitations-of-reactive]
    • <h2> Additional Ref Unwrapping Details ​ [#additional-ref-unwrapping-details]
      • <h3> As Reactive Object Property ​ [#ref-unwrapping-as-reactive-object-property]
      • <h3> Caveat in Arrays and Collections ​ [#caveat-in-arrays-and-collections]
      • <h3> Caveat when Unwrapping in Templates ​ [#caveat-when-unwrapping-in-templates]
      • <h3> Stateful Methods ​ [#stateful-methods]
279/guide/essentials/reactivity-fundamentals
  • <h2> Getting Started
  • <h2> Essentials
  • <h2> Components In-Depth
  • <h2> Reusability
  • <h2> Built-in Components
  • <h2> Scaling Up
  • <h2> Best Practices
  • <h2> TypeScript
  • <h2> Extra Topics
  • <h1> Transition ​ [#transition]
    • <h2> The &lt;Transition&gt; Component ​ [#the-transition-component]
    • <h2> CSS-Based Transitions ​ [#css-based-transitions]
      • <h3> Transition Classes ​ [#transition-classes]
      • <h3> Named Transitions ​ [#named-transitions]
      • <h3> CSS Transitions ​ [#css-transitions]
      • <h3> CSS Animations ​ [#css-animations]
      • <h3> Custom Transition Classes ​ [#custom-transition-classes]
      • <h3> Using Transitions and Animations Together ​ [#using-transitions-and-animations-together]
      • <h3> Nested Transitions and Explicit Transition Durations ​ [#nested-transitions-and-explicit-transition-durations]
      • <h3> Performance Considerations ​ [#performance-considerations]
    • <h2> JavaScript Hooks ​ [#javascript-hooks]
    • <h2> Reusable Transitions ​ [#reusable-transitions]
    • <h2> Transition on Appear ​ [#transition-on-appear]
    • <h2> Transition Between Elements ​ [#transition-between-elements]
    • <h2> Transition Modes ​ [#transition-modes]
    • <h2> Transition Between Components ​ [#transition-between-components]
    • <h2> Dynamic Transitions ​ [#dynamic-transitions]
    • <h2> Transitions with the Key Attribute ​ [#transitions-with-the-key-attribute]
289/guide/built-ins/transition
  • <h2> Getting Started
  • <h2> Essentials
  • <h2> Components In-Depth
  • <h2> Reusability
  • <h2> Built-in Components
  • <h2> Scaling Up
  • <h2> Best Practices
  • <h2> TypeScript
  • <h2> Extra Topics
  • <h1> Fallthrough Attributes ​ [#fallthrough-attributes]
    • <h2> Attribute Inheritance ​ [#attribute-inheritance]
      • <h3> class and style Merging ​ [#class-and-style-merging]
      • <h3> v-on Listener Inheritance ​ [#v-on-listener-inheritance]
      • <h3> Nested Component Inheritance ​ [#nested-component-inheritance]
    • <h2> Disabling Attribute Inheritance ​ [#disabling-attribute-inheritance]
    • <h2> Attribute Inheritance on Multiple Root Nodes ​ [#attribute-inheritance-on-multiple-root-nodes]
    • <h2> Accessing Fallthrough Attributes in JavaScript ​ [#accessing-fallthrough-attributes-in-javascript]
179/guide/components/attrs
  • <h2> Getting Started
  • <h2> Essentials
  • <h2> Components In-Depth
  • <h2> Reusability
  • <h2> Built-in Components
  • <h2> Scaling Up
  • <h2> Best Practices
  • <h2> TypeScript
  • <h2> Extra Topics
  • <h1> Computed Properties ​ [#computed-properties]
    • <h2> Basic Example ​ [#basic-example]
    • <h2> Computed Caching vs. Methods ​ [#computed-caching-vs-methods]
    • <h2> Writable Computed ​ [#writable-computed]
    • <h2> Best Practices ​ [#best-practices]
      • <h3> Getters should be side-effect free ​ [#getters-should-be-side-effect-free]
      • <h3> Avoid mutating computed value ​ [#avoid-mutating-computed-value]
169/guide/essentials/computed
  • <h2> Getting Started
  • <h2> Essentials
  • <h2> Components In-Depth
  • <h2> Reusability
  • <h2> Built-in Components
  • <h2> Scaling Up
  • <h2> Best Practices
  • <h2> TypeScript
  • <h2> Extra Topics
  • <h1> Routing ​ [#routing]
    • <h2> Client-Side vs. Server-Side Routing ​ [#client-side-vs-server-side-routing]
    • <h2> Official Router ​ [#official-router]
    • <h2> Simple Routing from Scratch ​ [#simple-routing-from-scratch]
139/guide/scaling-up/routing
  • <h2> Getting Started
  • <h2> Essentials
  • <h2> Components In-Depth
  • <h2> Reusability
  • <h2> Built-in Components
  • <h2> Scaling Up
  • <h2> Best Practices
  • <h2> TypeScript
  • <h2> Extra Topics
  • <h1> Template Refs ​ [#template-refs]
    • <h2> Accessing the Refs ​ [#accessing-the-refs]
    • <h2> Refs inside v-for ​ [#refs-inside-v-for]
    • <h2> Function Refs ​ [#function-refs]
    • <h2> Ref on Component ​ [#ref-on-component]
149/guide/essentials/template-refs
  • <h2> Getting Started
  • <h2> Essentials
  • <h2> Components In-Depth
  • <h2> Reusability
  • <h2> Built-in Components
  • <h2> Scaling Up
  • <h2> Best Practices
  • <h2> TypeScript
  • <h2> Extra Topics
  • <h1> Props ​ [#props]
    • <h2> Props Declaration ​ [#props-declaration]
    • <h2> Prop Passing Details ​ [#prop-passing-details]
      • <h3> Prop Name Casing ​ [#prop-name-casing]
      • <h3> Static vs. Dynamic Props ​ [#static-vs-dynamic-props]
      • <h3> Passing Different Value Types ​ [#passing-different-value-types]
      • <h3> Binding Multiple Properties Using an Object ​ [#binding-multiple-properties-using-an-object]
    • <h2> One-Way Data Flow ​ [#one-way-data-flow]
      • <h3> Mutating Object / Array Props ​ [#mutating-object-array-props]
    • <h2> Prop Validation ​ [#prop-validation]
      • <h3> Runtime Type Checks ​ [#runtime-type-checks]
      • <h3> Nullable Type ​ [#nullable-type]
    • <h2> Boolean Casting ​ [#boolean-casting]
229/guide/components/props
  • <h2> Getting Started
  • <h2> Essentials
  • <h2> Components In-Depth
  • <h2> Reusability
  • <h2> Built-in Components
  • <h2> Scaling Up
  • <h2> Best Practices
  • <h2> TypeScript
  • <h2> Extra Topics
  • <h1> Component Events ​ [#component-events]
    • <h2> Emitting and Listening to Events ​ [#emitting-and-listening-to-events]
    • <h2> Event Arguments ​ [#event-arguments]
    • <h2> Declaring Emitted Events ​ [#declaring-emitted-events]
    • <h2> Events Validation ​ [#events-validation]
149/guide/components/events
  • <h2> Getting Started
  • <h2> Essentials
  • <h2> Components In-Depth
  • <h2> Reusability
  • <h2> Built-in Components
  • <h2> Scaling Up
  • <h2> Best Practices
  • <h2> TypeScript
  • <h2> Extra Topics
  • <h1> Custom Directives ​ [#custom-directives]
    • <h2> Introduction ​ [#introduction]
    • <h2> Directive Hooks ​ [#directive-hooks]
      • <h3> Hook Arguments ​ [#hook-arguments]
    • <h2> Function Shorthand ​ [#function-shorthand]
    • <h2> Object Literals ​ [#object-literals]
    • <h2> Usage on Components ​ [#usage-on-components]
169/guide/reusability/custom-directives
  • <h2> Getting Started
  • <h2> Essentials
  • <h2> Components In-Depth
  • <h2> Reusability
  • <h2> Built-in Components
  • <h2> Scaling Up
  • <h2> Best Practices
  • <h2> TypeScript
  • <h2> Extra Topics
  • <h1> Performance ​ [#performance]
    • <h2> Overview ​ [#overview]
    • <h2> Profiling Options ​ [#profiling-options]
    • <h2> Page Load Optimizations ​ [#page-load-optimizations]
      • <h3> Choosing the Right Architecture ​ [#choosing-the-right-architecture]
      • <h3> Bundle Size and Tree-shaking ​ [#bundle-size-and-tree-shaking]
      • <h3> Code Splitting ​ [#code-splitting]
    • <h2> Update Optimizations ​ [#update-optimizations]
      • <h3> Props Stability ​ [#props-stability]
      • <h3> v-once ​ [#v-once]
      • <h3> v-memo ​ [#v-memo]
      • <h3> Computed Stability ​ [#computed-stability]
    • <h2> General Optimizations ​ [#general-optimizations]
      • <h3> Virtualize Large Lists ​ [#virtualize-large-lists]
      • <h3> Reduce Reactivity Overhead for Large Immutable Structures ​ [#reduce-reactivity-overhead-for-large-immutable-structures]
      • <h3> Avoid Unnecessary Component Abstractions ​ [#avoid-unnecessary-component-abstractions]
259/guide/best-practices/performance
  • <h2> Getting Started
  • <h2> Essentials
  • <h2> Components In-Depth
  • <h2> Reusability
  • <h2> Built-in Components
  • <h2> Scaling Up
  • <h2> Best Practices
  • <h2> TypeScript
  • <h2> Extra Topics
  • <h1> Plugins ​ [#plugins]
    • <h2> Introduction ​ [#introduction]
    • <h2> Writing a Plugin ​ [#writing-a-plugin]
      • <h3> Provide / Inject with Plugins ​ [#provide-inject-with-plugins]
139/guide/reusability/plugins
  • <h2> Getting Started
  • <h2> Essentials
  • <h2> Components In-Depth
  • <h2> Reusability
  • <h2> Built-in Components
  • <h2> Scaling Up
  • <h2> Best Practices
  • <h2> TypeScript
  • <h2> Extra Topics
  • <h1> Quick Start ​ [#quick-start]
    • <h2> Try Vue Online ​ [#try-vue-online]
    • <h2> Creating a Vue Application ​ [#creating-a-vue-application]
    • <h2> Using Vue from CDN ​ [#using-vue-from-cdn]
      • <h3> Using the Global Build ​ [#using-the-global-build]
      • <h3> Using the ES Module Build ​ [#using-the-es-module-build]
      • <h3> Enabling Import maps ​ [#enabling-import-maps]
      • <h3> Splitting Up the Modules ​ [#splitting-up-the-modules]
    • <h2> Next Steps ​ [#next-steps]
189/guide/quick-start
  • <h2> Getting Started
  • <h2> Essentials
  • <h2> Components In-Depth
  • <h2> Reusability
  • <h2> Built-in Components
  • <h2> Scaling Up
  • <h2> Best Practices
  • <h2> TypeScript
  • <h2> Extra Topics
  • <h1> Vue and Web Components ​ [#vue-and-web-components]
    • <h2> Using Custom Elements in Vue ​ [#using-custom-elements-in-vue]
      • <h3> Skipping Component Resolution ​ [#skipping-component-resolution]
      • <h3> Passing DOM Properties ​ [#passing-dom-properties]
    • <h2> Building Custom Elements with Vue ​ [#building-custom-elements-with-vue]
      • <h3> defineCustomElement ​ [#definecustomelement]
      • <h3> SFC as Custom Element ​ [#sfc-as-custom-element]
      • <h3> Tips for a Vue Custom Elements Library ​ [#tips-for-a-vue-custom-elements-library]
      • <h3> Web Components and TypeScript ​ [#web-components-and-typescript]
    • <h2> Web Components vs. Vue Components ​ [#web-components-vs-vue-components]
199/guide/extras/web-components
  • <h2> Getting Started
  • <h2> Essentials
  • <h2> Components In-Depth
  • <h2> Reusability
  • <h2> Built-in Components
  • <h2> Scaling Up
  • <h2> Best Practices
  • <h2> TypeScript
  • <h2> Extra Topics
  • <h1> Security ​ [#security]
    • <h2> Reporting Vulnerabilities ​ [#reporting-vulnerabilities]
    • <h2> Rule No.1: Never Use Non-trusted Templates ​ [#rule-no-1-never-use-non-trusted-templates]
    • <h2> What Vue Does to Protect You ​ [#what-vue-does-to-protect-you]
      • <h3> HTML content ​ [#html-content]
      • <h3> Attribute bindings ​ [#attribute-bindings]
    • <h2> Potential Dangers ​ [#potential-dangers]
      • <h3> HTML Injection ​ [#html-injection]
      • <h3> URL Injection ​ [#url-injection]
      • <h3> Style Injection ​ [#style-injection]
      • <h3> JavaScript Injection ​ [#javascript-injection]
    • <h2> Best Practices ​ [#best-practices]
    • <h2> Backend Coordination ​ [#backend-coordination]
    • <h2> Server-Side Rendering (SSR) ​ [#server-side-rendering-ssr]
239/guide/best-practices/security
  • <h2> Getting Started
  • <h2> Essentials
  • <h2> Components In-Depth
  • <h2> Reusability
  • <h2> Built-in Components
  • <h2> Scaling Up
  • <h2> Best Practices
  • <h2> TypeScript
  • <h2> Extra Topics
  • <h1> List Rendering ​ [#list-rendering]
    • <h2> v-for ​ [#v-for]
    • <h2> v-for with an Object ​ [#v-for-with-an-object]
    • <h2> v-for with a Range ​ [#v-for-with-a-range]
    • <h2> v-for on &lt;template&gt; ​ [#v-for-on-template]
    • <h2> v-for with v-if ​ [#v-for-with-v-if]
    • <h2> Maintaining State with key ​ [#maintaining-state-with-key]
    • <h2> v-for with a Component ​ [#v-for-with-a-component]
    • <h2> Array Change Detection ​ [#array-change-detection]
      • <h3> Mutation Methods ​ [#mutation-methods]
      • <h3> Replacing an Array ​ [#replacing-an-array]
    • <h2> Displaying Filtered/Sorted Results ​ [#displaying-filtered-sorted-results]
219/guide/essentials/list
  • <h2> Getting Started
  • <h2> Essentials
  • <h2> Components In-Depth
  • <h2> Reusability
  • <h2> Built-in Components
  • <h2> Scaling Up
  • <h2> Best Practices
  • <h2> TypeScript
  • <h2> Extra Topics
  • <h1> Testing ​ [#testing]
    • <h2> Why Test? ​ [#why-test]
    • <h2> When to Test ​ [#when-to-test]
    • <h2> Testing Types ​ [#testing-types]
    • <h2> Overview ​ [#overview]
    • <h2> Unit Testing ​ [#unit-testing]
      • <h3> Composables ​ [#composables]
      • <h3> Unit Testing Components ​ [#unit-testing-components]
      • <h3> Recommendation ​ [#recommendation]
      • <h3> Other Options ​ [#other-options]
    • <h2> Component Testing ​ [#component-testing]
      • <h3> Recommendation ​ [#recommendation-1]
      • <h3> Mounting Libraries ​ [#mounting-libraries]
      • <h3> Other Options ​ [#other-options-1]
    • <h2> E2E Testing ​ [#e2e-testing]
      • <h3> Choosing an E2E Testing Solution ​ [#choosing-an-e2e-testing-solution]
      • <h3> Recommendation ​ [#recommendation-2]
      • <h3> Other Options ​ [#other-options-2]
    • <h2> Recipes ​ [#recipes]
      • <h3> Adding Vitest to a Project ​ [#adding-vitest-to-a-project]
      • <h3> Testing Composables ​ [#testing-composables]
309/guide/scaling-up/testing
  • <h2> Getting Started
  • <h2> Essentials
  • <h2> Components In-Depth
  • <h2> Reusability
  • <h2> Built-in Components
  • <h2> Scaling Up
  • <h2> Best Practices
  • <h2> TypeScript
  • <h2> Extra Topics
  • <h1> TransitionGroup ​ [#transitiongroup]
    • <h2> Differences from &lt;Transition&gt; ​ [#differences-from-transition]
    • <h2> Enter / Leave Transitions ​ [#enter-leave-transitions]
    • <h2> Move Transitions ​ [#move-transitions]
    • <h2> Staggering List Transitions ​ [#staggering-list-transitions]
149/guide/built-ins/transition-group
  • <h2> Getting Started
  • <h2> Essentials
  • <h2> Components In-Depth
  • <h2> Reusability
  • <h2> Built-in Components
  • <h2> Scaling Up
  • <h2> Best Practices
  • <h2> TypeScript
  • <h2> Extra Topics
  • <h1> Form Input Bindings ​ [#form-input-bindings]
    • <h2> Basic Usage ​ [#basic-usage]
      • <h3> Text ​ [#text]
      • <h3> Multiline text ​ [#multiline-text]
      • <h3> Checkbox ​ [#checkbox]
      • <h3> Radio ​ [#radio]
      • <h3> Select ​ [#select]
    • <h2> Value Bindings ​ [#value-bindings]
      • <h3> Checkbox ​ [#checkbox-1]
      • <h3> Radio ​ [#radio-1]
      • <h3> Select Options ​ [#select-options]
    • <h2> Modifiers ​ [#modifiers]
      • <h3> .lazy ​ [#lazy]
      • <h3> .number ​ [#number]
      • <h3> .trim ​ [#trim]
    • <h2> v-model with Components ​ [#v-model-with-components]
259/guide/essentials/forms
  • <h2> Getting Started
  • <h2> Essentials
  • <h2> Components In-Depth
  • <h2> Reusability
  • <h2> Built-in Components
  • <h2> Scaling Up
  • <h2> Best Practices
  • <h2> TypeScript
  • <h2> Extra Topics
  • <h1> Watchers ​ [#watchers]
    • <h2> Basic Example ​ [#basic-example]
      • <h3> Watch Source Types ​ [#watch-source-types]
    • <h2> Deep Watchers ​ [#deep-watchers]
    • <h2> Eager Watchers ​ [#eager-watchers]
    • <h2> Once Watchers ​ [#once-watchers]
    • <h2> watchEffect() ​ [#watcheffect]
      • <h3> watch vs. watchEffect ​ [#watch-vs-watcheffect]
    • <h2> Callback Flush Timing ​ [#callback-flush-timing]
      • <h3> Post Watchers ​ [#post-watchers]
      • <h3> Sync Watchers ​ [#sync-watchers]
    • <h2> this.$watch() ​ [#this-watch]
    • <h2> Stopping a Watcher ​ [#stopping-a-watcher]
229/guide/essentials/watchers
  • <h2> Getting Started
  • <h2> Essentials
  • <h2> Components In-Depth
  • <h2> Reusability
  • <h2> Built-in Components
  • <h2> Scaling Up
  • <h2> Best Practices
  • <h2> TypeScript
  • <h2> Extra Topics
  • <h1> State Management ​ [#state-management]
    • <h2> What is State Management? ​ [#what-is-state-management]
    • <h2> Simple State Management with Reactivity API ​ [#simple-state-management-with-reactivity-api]
    • <h2> SSR Considerations ​ [#ssr-considerations]
    • <h2> Pinia ​ [#pinia]
149/guide/scaling-up/state-management
  • <h2> Getting Started
  • <h2> Essentials
  • <h2> Components In-Depth
  • <h2> Reusability
  • <h2> Built-in Components
  • <h2> Scaling Up
  • <h2> Best Practices
  • <h2> TypeScript
  • <h2> Extra Topics
  • <h1> Class and Style Bindings ​ [#class-and-style-bindings]
    • <h2> Binding HTML Classes ​ [#binding-html-classes]
      • <h3> Binding to Objects ​ [#binding-to-objects]
      • <h3> Binding to Arrays ​ [#binding-to-arrays]
      • <h3> With Components ​ [#with-components]
    • <h2> Binding Inline Styles ​ [#binding-inline-styles]
      • <h3> Binding to Objects ​ [#binding-to-objects-1]
      • <h3> Binding to Arrays ​ [#binding-to-arrays-1]
      • <h3> Auto-prefixing ​ [#auto-prefixing]
      • <h3> Multiple Values ​ [#multiple-values]
199/guide/essentials/class-and-style
  • <h2> Getting Started
  • <h2> Essentials
  • <h2> Components In-Depth
  • <h2> Reusability
  • <h2> Built-in Components
  • <h2> Scaling Up
  • <h2> Best Practices
  • <h2> TypeScript
  • <h2> Extra Topics
  • <h1> Component Registration ​ [#component-registration]
    • <h2> Global Registration ​ [#global-registration]
    • <h2> Local Registration ​ [#local-registration]
    • <h2> Component Name Casing ​ [#component-name-casing]
139/guide/components/registration
  • <h2> Getting Started
  • <h2> Essentials
  • <h2> Components In-Depth
  • <h2> Reusability
  • <h2> Built-in Components
  • <h2> Scaling Up
  • <h2> Best Practices
  • <h2> TypeScript
  • <h2> Extra Topics
  • <h1> Tooling ​ [#tooling]
    • <h2> Try It Online ​ [#try-it-online]
    • <h2> Project Scaffolding ​ [#project-scaffolding]
      • <h3> Vite ​ [#vite]
      • <h3> Vue CLI ​ [#vue-cli]
      • <h3> Note on In-Browser Template Compilation ​ [#note-on-in-browser-template-compilation]
    • <h2> IDE Support ​ [#ide-support]
    • <h2> Browser Devtools ​ [#browser-devtools]
    • <h2> TypeScript ​ [#typescript]
    • <h2> Testing ​ [#testing]
    • <h2> Linting ​ [#linting]
    • <h2> Formatting ​ [#formatting]
    • <h2> SFC Custom Block Integrations ​ [#sfc-custom-block-integrations]
    • <h2> Lower-Level Packages ​ [#lower-level-packages]
      • <h3> @vue/compiler-sfc ​ [#vue-compiler-sfc]
      • <h3> @vitejs/plugin-vue ​ [#vitejs-plugin-vue]
      • <h3> vue-loader ​ [#vue-loader]
    • <h2> Other Online Playgrounds ​ [#other-online-playgrounds]
279/guide/scaling-up/tooling
  • <h2> Getting Started
  • <h2> Essentials
  • <h2> Components In-Depth
  • <h2> Reusability
  • <h2> Built-in Components
  • <h2> Scaling Up
  • <h2> Best Practices
  • <h2> TypeScript
  • <h2> Extra Topics
  • <h1> Server-Side Rendering (SSR) ​ [#server-side-rendering-ssr]
    • <h2> Overview ​ [#overview]
      • <h3> What is SSR? ​ [#what-is-ssr]
      • <h3> Why SSR? ​ [#why-ssr]
      • <h3> SSR vs. SSG ​ [#ssr-vs-ssg]
    • <h2> Basic Tutorial ​ [#basic-tutorial]
      • <h3> Rendering an App ​ [#rendering-an-app]
      • <h3> Client Hydration ​ [#client-hydration]
      • <h3> Code Structure ​ [#code-structure]
    • <h2> Higher Level Solutions ​ [#higher-level-solutions]
      • <h3> Nuxt ​ [#nuxt]
      • <h3> Quasar ​ [#quasar]
      • <h3> Vite SSR ​ [#vite-ssr]
    • <h2> Writing SSR-friendly Code ​ [#writing-ssr-friendly-code]
      • <h3> Reactivity on the Server ​ [#reactivity-on-the-server]
      • <h3> Component Lifecycle Hooks ​ [#component-lifecycle-hooks]
      • <h3> Access to Platform-Specific APIs ​ [#access-to-platform-specific-apis]
      • <h3> Cross-Request State Pollution ​ [#cross-request-state-pollution]
      • <h3> Hydration Mismatch ​ [#hydration-mismatch]
      • <h3> Custom Directives ​ [#custom-directives]
      • <h3> Teleports ​ [#teleports]
309/guide/scaling-up/ssr
  • <h2> Getting Started
  • <h2> Essentials
  • <h2> Components In-Depth
  • <h2> Reusability
  • <h2> Built-in Components
  • <h2> Scaling Up
  • <h2> Best Practices
  • <h2> TypeScript
  • <h2> Extra Topics
  • <h1> Rendering Mechanism ​ [#rendering-mechanism]
    • <h2> Virtual DOM ​ [#virtual-dom]
    • <h2> Render Pipeline ​ [#render-pipeline]
    • <h2> Templates vs. Render Functions ​ [#templates-vs-render-functions]
    • <h2> Compiler-Informed Virtual DOM ​ [#compiler-informed-virtual-dom]
      • <h3> Static Hoisting ​ [#static-hoisting]
      • <h3> Patch Flags ​ [#patch-flags]
      • <h3> Tree Flattening ​ [#tree-flattening]
      • <h3> Impact on SSR Hydration ​ [#impact-on-ssr-hydration]
189/guide/extras/rendering-mechanism
  • <h2> Getting Started
  • <h2> Essentials
  • <h2> Components In-Depth
  • <h2> Reusability
  • <h2> Built-in Components
  • <h2> Scaling Up
  • <h2> Best Practices
  • <h2> TypeScript
  • <h2> Extra Topics
  • <h1> Lifecycle Hooks ​ [#lifecycle-hooks]
    • <h2> Registering Lifecycle Hooks ​ [#registering-lifecycle-hooks]
    • <h2> Lifecycle Diagram ​ [#lifecycle-diagram]
129/guide/essentials/lifecycle
  • <h2> Getting Started
  • <h2> Essentials
  • <h2> Components In-Depth
  • <h2> Reusability
  • <h2> Built-in Components
  • <h2> Scaling Up
  • <h2> Best Practices
  • <h2> TypeScript
  • <h2> Extra Topics
  • <h1> Component v-model ​ [#component-v-model]
    • <h2> Basic Usage ​ [#basic-usage]
      • <h3> Under the Hood ​ [#under-the-hood]
    • <h2> v-model arguments ​ [#v-model-arguments]
    • <h2> Multiple v-model bindings ​ [#multiple-v-model-bindings]
    • <h2> Handling v-model modifiers ​ [#handling-v-model-modifiers]
      • <h3> Modifiers for v-model with arguments ​ [#modifiers-for-v-model-with-arguments]
169/guide/components/v-model
  • <h2> Getting Started
  • <h2> Essentials
  • <h2> Components In-Depth
  • <h2> Reusability
  • <h2> Built-in Components
  • <h2> Scaling Up
  • <h2> Best Practices
  • <h2> TypeScript
  • <h2> Extra Topics
  • <h1> TypeScript with Composition API ​ [#typescript-with-composition-api]
    • <h2> Typing Component Props ​ [#typing-component-props]
      • <h3> Using &lt;script setup&gt; ​ [#using-script-setup]
      • <h3> Props Default Values ​ [#props-default-values]
      • <h3> Without &lt;script setup&gt; ​ [#without-script-setup]
      • <h3> Complex prop types ​ [#complex-prop-types]
    • <h2> Typing Component Emits ​ [#typing-component-emits]
    • <h2> Typing ref() ​ [#typing-ref]
    • <h2> Typing reactive() ​ [#typing-reactive]
    • <h2> Typing computed() ​ [#typing-computed]
    • <h2> Typing Event Handlers ​ [#typing-event-handlers]
    • <h2> Typing Provide / Inject ​ [#typing-provide-inject]
    • <h2> Typing Template Refs ​ [#typing-template-refs]
    • <h2> Typing Component Template Refs ​ [#typing-component-template-refs]
239/guide/typescript/composition-api
  • <h2> Getting Started
  • <h2> Essentials
  • <h2> Components In-Depth
  • <h2> Reusability
  • <h2> Built-in Components
  • <h2> Scaling Up
  • <h2> Best Practices
  • <h2> TypeScript
  • <h2> Extra Topics
  • <h1> Slots ​ [#slots]
    • <h2> Slot Content and Outlet ​ [#slot-content-and-outlet]
    • <h2> Render Scope ​ [#render-scope]
    • <h2> Fallback Content ​ [#fallback-content]
    • <h2> Named Slots ​ [#named-slots]
    • <h2> Conditional Slots ​ [#conditional-slots]
    • <h2> Dynamic Slot Names ​ [#dynamic-slot-names]
    • <h2> Scoped Slots ​ [#scoped-slots]
      • <h3> Named Scoped Slots ​ [#named-scoped-slots]
      • <h3> Fancy List Example ​ [#fancy-list-example]
      • <h3> Renderless Components ​ [#renderless-components]
209/guide/components/slots
  • <h2> Getting Started
  • <h2> Essentials
  • <h2> Components In-Depth
  • <h2> Reusability
  • <h2> Built-in Components
  • <h2> Scaling Up
  • <h2> Best Practices
  • <h2> TypeScript
  • <h2> Extra Topics
  • <h1> Reactivity Transform ​ [#reactivity-transform]
    • <h2> Refs vs. Reactive Variables ​ [#refs-vs-reactive-variables]
    • <h2> Destructuring with $() ​ [#destructuring-with]
    • <h2> Convert Existing Refs to Reactive Variables with $() ​ [#convert-existing-refs-to-reactive-variables-with]
    • <h2> Reactive Props Destructure ​ [#reactive-props-destructure]
    • <h2> Retaining Reactivity Across Function Boundaries ​ [#retaining-reactivity-across-function-boundaries]
      • <h3> Passing into function as argument ​ [#passing-into-function-as-argument]
      • <h3> Returning inside function scope ​ [#returning-inside-function-scope]
      • <h3> Using $$() on destructured props ​ [#using-on-destructured-props]
    • <h2> TypeScript Integration ​ [#typescript-integration]
    • <h2> Explicit Opt-in ​ [#explicit-opt-in]
      • <h3> Vite ​ [#vite]
      • <h3> vue-cli ​ [#vue-cli]
      • <h3> Plain webpack + vue-loader ​ [#plain-webpack-vue-loader]
239/guide/extras/reactivity-transform
  • <h2> Getting Started
  • <h2> Essentials
  • <h2> Components In-Depth
  • <h2> Reusability
  • <h2> Built-in Components
  • <h2> Scaling Up
  • <h2> Best Practices
  • <h2> TypeScript
  • <h2> Extra Topics
  • <h1> Render Functions &amp; JSX ​ [#render-functions-jsx]
    • <h2> Basic Usage ​ [#basic-usage]
      • <h3> Creating Vnodes ​ [#creating-vnodes]
      • <h3> Declaring Render Functions ​ [#declaring-render-functions]
      • <h3> Vnodes Must Be Unique ​ [#vnodes-must-be-unique]
    • <h2> JSX / TSX ​ [#jsx-tsx]
      • <h3> JSX Type Inference ​ [#jsx-type-inference]
    • <h2> Render Function Recipes ​ [#render-function-recipes]
      • <h3> v-if ​ [#v-if]
      • <h3> v-for ​ [#v-for]
      • <h3> v-on ​ [#v-on]
      • <h3> Components ​ [#components]
      • <h3> Rendering Slots ​ [#rendering-slots]
      • <h3> Passing Slots ​ [#passing-slots]
      • <h3> Scoped Slots ​ [#scoped-slots]
      • <h3> Built-in Components ​ [#built-in-components]
      • <h3> v-model ​ [#v-model]
      • <h3> Custom Directives ​ [#custom-directives]
      • <h3> Template Refs ​ [#template-refs]
    • <h2> Functional Components ​ [#functional-components]
      • <h3> Typing Functional Components ​ [#typing-functional-components]
309/guide/extras/render-function
  • <h2> Getting Started
  • <h2> Essentials
  • <h2> Components In-Depth
  • <h2> Reusability
  • <h2> Built-in Components
  • <h2> Scaling Up
  • <h2> Best Practices
  • <h2> TypeScript
  • <h2> Extra Topics
  • <h1> Components Basics ​ [#components-basics]
    • <h2> Defining a Component ​ [#defining-a-component]
    • <h2> Using a Component ​ [#using-a-component]
    • <h2> Passing Props ​ [#passing-props]
    • <h2> Listening to Events ​ [#listening-to-events]
    • <h2> Content Distribution with Slots ​ [#content-distribution-with-slots]
    • <h2> Dynamic Components ​ [#dynamic-components]
    • <h2> in-DOM Template Parsing Caveats ​ [#in-dom-template-parsing-caveats]
      • <h3> Case Insensitivity ​ [#case-insensitivity]
      • <h3> Self Closing Tags ​ [#self-closing-tags]
      • <h3> Element Placement Restrictions ​ [#element-placement-restrictions]
209/guide/essentials/component-basics
  • <h2> Getting Started
  • <h2> Essentials
  • <h2> Components In-Depth
  • <h2> Reusability
  • <h2> Built-in Components
  • <h2> Scaling Up
  • <h2> Best Practices
  • <h2> TypeScript
  • <h2> Extra Topics
  • <h1> Event Handling ​ [#event-handling]
    • <h2> Listening to Events ​ [#listening-to-events]
    • <h2> Inline Handlers ​ [#inline-handlers]
    • <h2> Method Handlers ​ [#method-handlers]
      • <h3> Method vs. Inline Detection ​ [#method-vs-inline-detection]
    • <h2> Calling Methods in Inline Handlers ​ [#calling-methods-in-inline-handlers]
    • <h2> Accessing Event Argument in Inline Handlers ​ [#accessing-event-argument-in-inline-handlers]
    • <h2> Event Modifiers ​ [#event-modifiers]
    • <h2> Key Modifiers ​ [#key-modifiers]
      • <h3> Key Aliases ​ [#key-aliases]
      • <h3> System Modifier Keys ​ [#system-modifier-keys]
      • <h3> .exact Modifier ​ [#exact-modifier]
    • <h2> Mouse Button Modifiers ​ [#mouse-button-modifiers]
229/guide/essentials/event-handling
  • <h2> Getting Started
  • <h2> Essentials
  • <h2> Components In-Depth
  • <h2> Reusability
  • <h2> Built-in Components
  • <h2> Scaling Up
  • <h2> Best Practices
  • <h2> TypeScript
  • <h2> Extra Topics
  • <h1> Single-File Components ​ [#single-file-components]
    • <h2> Introduction ​ [#introduction]
    • <h2> Why SFC ​ [#why-sfc]
    • <h2> How It Works ​ [#how-it-works]
    • <h2> What About Separation of Concerns? ​ [#what-about-separation-of-concerns]
149/guide/scaling-up/sfc
  • <h2> Getting Started
  • <h2> Essentials
  • <h2> Components In-Depth
  • <h2> Reusability
  • <h2> Built-in Components
  • <h2> Scaling Up
  • <h2> Best Practices
  • <h2> TypeScript
  • <h2> Extra Topics
  • <h1> Teleport ​ [#teleport]
    • <h2> Basic Usage ​ [#basic-usage]
    • <h2> Using with Components ​ [#using-with-components]
    • <h2> Disabling Teleport ​ [#disabling-teleport]
    • <h2> Multiple Teleports on the Same Target ​ [#multiple-teleports-on-the-same-target]
149/guide/built-ins/teleport
  • <h2> Global API
  • <h2> Composition API
  • <h2> Options API
  • <h2> Built-ins
  • <h2> Single-File Component
  • <h2> Advanced APIs
  • <h1> Built-in Directives ​ [#built-in-directives]
    • <h2> v-text ​ [#v-text]
    • <h2> v-html ​ [#v-html]
    • <h2> v-show ​ [#v-show]
    • <h2> v-if ​ [#v-if]
    • <h2> v-else ​ [#v-else]
    • <h2> v-else-if ​ [#v-else-if]
    • <h2> v-for ​ [#v-for]
    • <h2> v-on ​ [#v-on]
    • <h2> v-bind ​ [#v-bind]
    • <h2> v-model ​ [#v-model]
    • <h2> v-slot ​ [#v-slot]
    • <h2> v-pre ​ [#v-pre]
    • <h2> v-once ​ [#v-once]
    • <h2> v-memo ​ [#v-memo]
    • <h2> v-cloak ​ [#v-cloak]
226/api/built-in-directives
  • <h2> Global API
  • <h2> Composition API
  • <h2> Options API
  • <h2> Built-ins
  • <h2> Single-File Component
  • <h2> Advanced APIs
  • <h1> Options: Lifecycle ​ [#options-lifecycle]
    • <h2> beforeCreate ​ [#beforecreate]
    • <h2> created ​ [#created]
    • <h2> beforeMount ​ [#beforemount]
    • <h2> mounted ​ [#mounted]
    • <h2> beforeUpdate ​ [#beforeupdate]
    • <h2> updated ​ [#updated]
    • <h2> beforeUnmount ​ [#beforeunmount]
    • <h2> unmounted ​ [#unmounted]
    • <h2> errorCaptured ​ [#errorcaptured]
    • <h2> renderTracked ​ [#rendertracked]
    • <h2> renderTriggered ​ [#rendertriggered]
    • <h2> activated ​ [#activated]
    • <h2> deactivated ​ [#deactivated]
    • <h2> serverPrefetch ​ [#serverprefetch]
216/api/options-lifecycle
  • <h2> Global API
  • <h2> Composition API
  • <h2> Options API
  • <h2> Built-ins
  • <h2> Single-File Component
  • <h2> Advanced APIs
  • <h1> Component Instance ​ [#component-instance]
    • <h2> $data ​ [#data]
    • <h2> $props ​ [#props]
    • <h2> $el ​ [#el]
    • <h2> $options ​ [#options]
    • <h2> $parent ​ [#parent]
    • <h2> $root ​ [#root]
    • <h2> $slots ​ [#slots]
    • <h2> $refs ​ [#refs]
    • <h2> $attrs ​ [#attrs]
    • <h2> $watch() ​ [#watch]
    • <h2> $emit() ​ [#emit]
    • <h2> $forceUpdate() ​ [#forceupdate]
    • <h2> $nextTick() ​ [#nexttick]
206/api/component-instance
  • <h2> Global API
  • <h2> Composition API
  • <h2> Options API
  • <h2> Built-ins
  • <h2> Single-File Component
  • <h2> Advanced APIs
  • <h1> Reactivity API: Advanced ​ [#reactivity-api-advanced]
    • <h2> shallowRef() ​ [#shallowref]
    • <h2> triggerRef() ​ [#triggerref]
    • <h2> customRef() ​ [#customref]
    • <h2> shallowReactive() ​ [#shallowreactive]
    • <h2> shallowReadonly() ​ [#shallowreadonly]
    • <h2> toRaw() ​ [#toraw]
    • <h2> markRaw() ​ [#markraw]
    • <h2> effectScope() ​ [#effectscope]
    • <h2> getCurrentScope() ​ [#getcurrentscope]
    • <h2> onScopeDispose() ​ [#onscopedispose]
176/api/reactivity-advanced
  • <h2> Global API
  • <h2> Composition API
  • <h2> Options API
  • <h2> Built-ins
  • <h2> Single-File Component
  • <h2> Advanced APIs
  • <h1> Compile-Time Flags ​ [#compile-time-flags]
    • <h2> __VUE_OPTIONS_API__ ​ [#VUE_OPTIONS_API]
    • <h2> __VUE_PROD_DEVTOOLS__ ​ [#VUE_PROD_DEVTOOLS]
    • <h2> __VUE_PROD_HYDRATION_MISMATCH_DETAILS__ ​ [#VUE_PROD_HYDRATION_MISMATCH_DETAILS]
    • <h2> Configuration Guides ​ [#configuration-guides]
      • <h3> Vite ​ [#vite]
      • <h3> vue-cli ​ [#vue-cli]
      • <h3> webpack ​ [#webpack]
      • <h3> Rollup ​ [#rollup]
156/api/compile-time-flags
  • <h2> Global API
  • <h2> Composition API
  • <h2> Options API
  • <h2> Built-ins
  • <h2> Single-File Component
  • <h2> Advanced APIs
  • <h1> Built-in Components ​ [#built-in-components]
    • <h2> &lt;Transition&gt; ​ [#transition]
    • <h2> &lt;TransitionGroup&gt; ​ [#transitiongroup]
    • <h2> &lt;KeepAlive&gt; ​ [#keepalive]
    • <h2> &lt;Teleport&gt; ​ [#teleport]
    • <h2> &lt;Suspense&gt; ​ [#suspense]
126/api/built-in-components
  • <h2> Global API
  • <h2> Composition API
  • <h2> Options API
  • <h2> Built-ins
  • <h2> Single-File Component
  • <h2> Advanced APIs
  • <h1> Render Function APIs ​ [#render-function-apis]
    • <h2> h() ​ [#h]
    • <h2> mergeProps() ​ [#mergeprops]
    • <h2> cloneVNode() ​ [#clonevnode]
    • <h2> isVNode() ​ [#isvnode]
    • <h2> resolveComponent() ​ [#resolvecomponent]
    • <h2> resolveDirective() ​ [#resolvedirective]
    • <h2> withDirectives() ​ [#withdirectives]
    • <h2> withModifiers() ​ [#withmodifiers]
156/api/render-function
  • <h2> Global API
  • <h2> Composition API
  • <h2> Options API
  • <h2> Built-ins
  • <h2> Single-File Component
  • <h2> Advanced APIs
  • <h1> Composition API: Lifecycle Hooks ​ [#composition-api-lifecycle-hooks]
    • <h2> onMounted() ​ [#onmounted]
    • <h2> onUpdated() ​ [#onupdated]
    • <h2> onUnmounted() ​ [#onunmounted]
    • <h2> onBeforeMount() ​ [#onbeforemount]
    • <h2> onBeforeUpdate() ​ [#onbeforeupdate]
    • <h2> onBeforeUnmount() ​ [#onbeforeunmount]
    • <h2> onErrorCaptured() ​ [#onerrorcaptured]
    • <h2> onRenderTracked() ​ [#onrendertracked]
    • <h2> onRenderTriggered() ​ [#onrendertriggered]
    • <h2> onActivated() ​ [#onactivated]
    • <h2> onDeactivated() ​ [#ondeactivated]
    • <h2> onServerPrefetch() ​ [#onserverprefetch]
196/api/composition-api-lifecycle
  • <h2> Global API
  • <h2> Composition API
  • <h2> Options API
  • <h2> Built-ins
  • <h2> Single-File Component
  • <h2> Advanced APIs
  • <h1> Built-in Special Attributes ​ [#built-in-special-attributes]
    • <h2> key ​ [#key]
    • <h2> ref ​ [#ref]
    • <h2> is ​ [#is]
106/api/built-in-special-attributes
  • <h2> Global API
  • <h2> Composition API
  • <h2> Options API
  • <h2> Built-ins
  • <h2> Single-File Component
  • <h2> Advanced APIs
  • <h1> Composition API: Dependency Injection ​ [#composition-api-dependency-injection]
    • <h2> provide() ​ [#provide]
    • <h2> inject() ​ [#inject]
    • <h2> hasInjectionContext() ​ [#has-injection-context]
106/api/composition-api-dependency-injection
  • <h2> Global API
  • <h2> Composition API
  • <h2> Options API
  • <h2> Built-ins
  • <h2> Single-File Component
  • <h2> Advanced APIs
  • <h1> SFC Syntax Specification ​ [#sfc-syntax-specification]
    • <h2> Overview ​ [#overview]
    • <h2> Language Blocks ​ [#language-blocks]
      • <h3> &lt;template&gt; ​ [#template]
      • <h3> &lt;script&gt; ​ [#script]
      • <h3> &lt;script setup&gt; ​ [#script-setup]
      • <h3> &lt;style&gt; ​ [#style]
      • <h3> Custom Blocks ​ [#custom-blocks]
    • <h2> Automatic Name Inference ​ [#automatic-name-inference]
    • <h2> Pre-Processors ​ [#pre-processors]
    • <h2> src Imports ​ [#src-imports]
    • <h2> Comments ​ [#comments]
186/api/sfc-spec
  • <h2> Global API
  • <h2> Composition API
  • <h2> Options API
  • <h2> Built-ins
  • <h2> Single-File Component
  • <h2> Advanced APIs
  • <h1> Utility Types ​ [#utility-types]
    • <h2> PropType&lt;T&gt; ​ [#proptype-t]
    • <h2> MaybeRef&lt;T&gt; ​ [#mayberef]
    • <h2> MaybeRefOrGetter&lt;T&gt; ​ [#maybereforgetter]
    • <h2> ExtractPropTypes&lt;T&gt; ​ [#extractproptypes]
    • <h2> ExtractPublicPropTypes&lt;T&gt; ​ [#extractpublicproptypes]
    • <h2> ComponentCustomProperties ​ [#componentcustomproperties]
    • <h2> ComponentCustomOptions ​ [#componentcustomoptions]
    • <h2> ComponentCustomProps ​ [#componentcustomprops]
    • <h2> CSSProperties ​ [#cssproperties]
166/api/utility-types
  • <h2> Global API
  • <h2> Composition API
  • <h2> Options API
  • <h2> Built-ins
  • <h2> Single-File Component
  • <h2> Advanced APIs
  • <h1> Application API ​ [#application-api]
    • <h2> createApp() ​ [#createapp]
    • <h2> createSSRApp() ​ [#createssrapp]
    • <h2> app.mount() ​ [#app-mount]
    • <h2> app.unmount() ​ [#app-unmount]
    • <h2> app.component() ​ [#app-component]
    • <h2> app.directive() ​ [#app-directive]
    • <h2> app.use() ​ [#app-use]
    • <h2> app.mixin() ​ [#app-mixin]
    • <h2> app.provide() ​ [#app-provide]
    • <h2> app.runWithContext() ​ [#app-runwithcontext]
    • <h2> app.version ​ [#app-version]
    • <h2> app.config ​ [#app-config]
    • <h2> app.config.errorHandler ​ [#app-config-errorhandler]
    • <h2> app.config.warnHandler ​ [#app-config-warnhandler]
    • <h2> app.config.performance ​ [#app-config-performance]
    • <h2> app.config.compilerOptions ​ [#app-config-compileroptions]
      • <h3> app.config.compilerOptions.isCustomElement ​ [#app-config-compileroptions-iscustomelement]
      • <h3> app.config.compilerOptions.whitespace ​ [#app-config-compileroptions-whitespace]
      • <h3> app.config.compilerOptions.delimiters ​ [#app-config-compileroptions-delimiters]
      • <h3> app.config.compilerOptions.comments ​ [#app-config-compileroptions-comments]
    • <h2> app.config.globalProperties ​ [#app-config-globalproperties]
    • <h2> app.config.optionMergeStrategies ​ [#app-config-optionmergestrategies]
296/api/application
  • <h2> Global API
  • <h2> Composition API
  • <h2> Options API
  • <h2> Built-ins
  • <h2> Single-File Component
  • <h2> Advanced APIs
  • <h1> Custom Renderer API ​ [#custom-renderer-api]
    • <h2> createRenderer() ​ [#createrenderer]
86/api/custom-renderer
  • <h2> Global API
  • <h2> Composition API
  • <h2> Options API
  • <h2> Built-ins
  • <h2> Single-File Component
  • <h2> Advanced APIs
  • <h1> Reactivity API: Core ​ [#reactivity-api-core]
    • <h2> ref() ​ [#ref]
    • <h2> computed() ​ [#computed]
    • <h2> reactive() ​ [#reactive]
    • <h2> readonly() ​ [#readonly]
    • <h2> watchEffect() ​ [#watcheffect]
    • <h2> watchPostEffect() ​ [#watchposteffect]
    • <h2> watchSyncEffect() ​ [#watchsynceffect]
    • <h2> watch() ​ [#watch]
156/api/reactivity-core
  • <h2> Global API
  • <h2> Composition API
  • <h2> Options API
  • <h2> Built-ins
  • <h2> Single-File Component
  • <h2> Advanced APIs
  • <h1> Options: Rendering ​ [#options-rendering]
    • <h2> template ​ [#template]
    • <h2> render ​ [#render]
    • <h2> compilerOptions ​ [#compileroptions]
    • <h2> slots ​ [#slots]
116/api/options-rendering
  • <h2> Global API
  • <h2> Composition API
  • <h2> Options API
  • <h2> Built-ins
  • <h2> Single-File Component
  • <h2> Advanced APIs
  • <h1> Global API: General ​ [#global-api-general]
    • <h2> version ​ [#version]
    • <h2> nextTick() ​ [#nexttick]
    • <h2> defineComponent() ​ [#definecomponent]
      • <h3> Function Signature ​ [#function-signature]
      • <h3> Note on webpack Treeshaking ​ [#note-on-webpack-treeshaking]
    • <h2> defineAsyncComponent() ​ [#defineasynccomponent]
    • <h2> defineCustomElement() ​ [#definecustomelement]
146/api/general
  • <h2> Global API
  • <h2> Composition API
  • <h2> Options API
  • <h2> Built-ins
  • <h2> Single-File Component
  • <h2> Advanced APIs
  • <h1> Composition API: setup() ​ [#composition-api-setup]
    • <h2> Basic Usage ​ [#basic-usage]
    • <h2> Accessing Props ​ [#accessing-props]
    • <h2> Setup Context ​ [#setup-context]
      • <h3> Exposing Public Properties ​ [#exposing-public-properties]
    • <h2> Usage with Render Functions ​ [#usage-with-render-functions]
126/api/composition-api-setup
  • <h2> Global API
  • <h2> Composition API
  • <h2> Options API
  • <h2> Built-ins
  • <h2> Single-File Component
  • <h2> Advanced APIs
  • <h1> &lt;script setup&gt; ​ [#script-setup]
    • <h2> Basic Syntax ​ [#basic-syntax]
      • <h3> Top-level bindings are exposed to template ​ [#top-level-bindings-are-exposed-to-template]
    • <h2> Reactivity ​ [#reactivity]
    • <h2> Using Components ​ [#using-components]
      • <h3> Dynamic Components ​ [#dynamic-components]
      • <h3> Recursive Components ​ [#recursive-components]
      • <h3> Namespaced Components ​ [#namespaced-components]
    • <h2> Using Custom Directives ​ [#using-custom-directives]
    • <h2> defineProps() &amp; defineEmits() ​ [#defineprops-defineemits]
      • <h3> Type-only props/emit declarations ​ [#type-only-props-emit-declarations]
      • <h3> Default props values when using type declaration ​ [#default-props-values-when-using-type-declaration]
    • <h2> defineModel() ​ [#definemodel]
      • <h3> Modifiers and Transformers ​ [#modifiers-and-transformers]
      • <h3> Usage with TypeScript ​ [#usage-with-typescript]
    • <h2> defineExpose() ​ [#defineexpose]
    • <h2> defineOptions() ​ [#defineoptions]
    • <h2> defineSlots() ​ [#defineslots]
    • <h2> useSlots() &amp; useAttrs() ​ [#useslots-useattrs]
    • <h2> Usage alongside normal &lt;script&gt; ​ [#usage-alongside-normal-script]
    • <h2> Top-level await ​ [#top-level-await]
    • <h2> Generics ​ [#generics]
    • <h2> Restrictions ​ [#restrictions]
296/api/sfc-script-setup
  • <h2> Global API
  • <h2> Composition API
  • <h2> Options API
  • <h2> Built-ins
  • <h2> Single-File Component
  • <h2> Advanced APIs
  • <h1> SFC CSS Features ​ [#sfc-css-features]
    • <h2> Scoped CSS ​ [#scoped-css]
      • <h3> Child Component Root Elements ​ [#child-component-root-elements]
      • <h3> Deep Selectors ​ [#deep-selectors]
      • <h3> Slotted Selectors ​ [#slotted-selectors]
      • <h3> Global Selectors ​ [#global-selectors]
      • <h3> Mixing Local and Global Styles ​ [#mixing-local-and-global-styles]
      • <h3> Scoped Style Tips ​ [#scoped-style-tips]
    • <h2> CSS Modules ​ [#css-modules]
      • <h3> Custom Inject Name ​ [#custom-inject-name]
      • <h3> Usage with Composition API ​ [#usage-with-composition-api]
    • <h2> v-bind() in CSS ​ [#v-bind-in-css]
186/api/sfc-css-features
  • <h2> Global API
  • <h2> Composition API
  • <h2> Options API
  • <h2> Built-ins
  • <h2> Single-File Component
  • <h2> Advanced APIs
  • <h1> Options: State ​ [#options-state]
    • <h2> data ​ [#data]
    • <h2> props ​ [#props]
    • <h2> computed ​ [#computed]
    • <h2> methods ​ [#methods]
    • <h2> watch ​ [#watch]
    • <h2> emits ​ [#emits]
    • <h2> expose ​ [#expose]
146/api/options-state
  • <h2> Global API
  • <h2> Composition API
  • <h2> Options API
  • <h2> Built-ins
  • <h2> Single-File Component
  • <h2> Advanced APIs
  • <h1> Options: Composition ​ [#options-composition]
    • <h2> provide ​ [#provide]
    • <h2> inject ​ [#inject]
    • <h2> mixins ​ [#mixins]
    • <h2> extends ​ [#extends]
116/api/options-composition
  • <h2> Global API
  • <h2> Composition API
  • <h2> Options API
  • <h2> Built-ins
  • <h2> Single-File Component
  • <h2> Advanced APIs
  • <h1> Server-Side Rendering API ​ [#server-side-rendering-api]
    • <h2> renderToString() ​ [#rendertostring]
      • <h3> SSR Context ​ [#ssr-context]
    • <h2> renderToNodeStream() ​ [#rendertonodestream]
    • <h2> pipeToNodeWritable() ​ [#pipetonodewritable]
    • <h2> renderToWebStream() ​ [#rendertowebstream]
    • <h2> pipeToWebWritable() ​ [#pipetowebwritable]
    • <h2> renderToSimpleStream() ​ [#rendertosimplestream]
    • <h2> useSSRContext() ​ [#usessrcontext]
156/api/ssr
  • <h2> Global API
  • <h2> Composition API
  • <h2> Options API
  • <h2> Built-ins
  • <h2> Single-File Component
  • <h2> Advanced APIs
  • <h1> Built-in Special Elements ​ [#built-in-special-elements]
    • <h2> &lt;component&gt; ​ [#component]
    • <h2> &lt;slot&gt; ​ [#slot]
    • <h2> &lt;template&gt; ​ [#template]
106/api/built-in-special-elements
  • <h2> Global API
  • <h2> Composition API
  • <h2> Options API
  • <h2> Built-ins
  • <h2> Single-File Component
  • <h2> Advanced APIs
  • <h1> Options: Misc ​ [#options-misc]
    • <h2> name ​ [#name]
    • <h2> inheritAttrs ​ [#inheritattrs]
    • <h2> components ​ [#components]
    • <h2> directives ​ [#directives]
116/api/options-misc
  • <h2> Global API
  • <h2> Composition API
  • <h2> Options API
  • <h2> Built-ins
  • <h2> Single-File Component
  • <h2> Advanced APIs
  • <h1> Reactivity API: Utilities ​ [#reactivity-api-utilities]
    • <h2> isRef() ​ [#isref]
    • <h2> unref() ​ [#unref]
    • <h2> toRef() ​ [#toref]
    • <h2> toValue() ​ [#tovalue]
    • <h2> toRefs() ​ [#torefs]
    • <h2> isProxy() ​ [#isproxy]
    • <h2> isReactive() ​ [#isreactive]
    • <h2> isReadonly() ​ [#isreadonly]
156/api/reactivity-utilities
  • <h2> Basic
  • <h2> Practical
  • <h2> 7 GUIs
33/examples/
  • <h2> Style Guide
  • <h1> Priority A Rules: Essential ​ [#priority-a-rules-essential]
    • <h2> Use multi-word component names ​ [#use-multi-word-component-names]
      • <h3> Bad
      • <h3> Good
    • <h2> Use detailed prop definitions ​ [#use-detailed-prop-definitions]
      • <h3> Bad
      • <h3> Good
      • <h3> Bad
      • <h3> Good
    • <h2> Use keyed v-for ​ [#use-keyed-v-for]
      • <h3> Bad
      • <h3> Good
    • <h2> Avoid v-if with v-for ​ [#avoid-v-if-with-v-for]
      • <h3> Bad
      • <h3> Good
    • <h2> Use component-scoped styling ​ [#use-component-scoped-styling]
      • <h3> Bad
      • <h3> Good
191/style-guide/rules-essential
  • <h2> Style Guide
  • <h1> Style Guide ​ [#style-guide]
    • <h2> Rule Categories ​ [#rule-categories]
      • <h3> Priority A: Essential (Error Prevention) ​ [#priority-a-essential-error-prevention]
      • <h3> Priority B: Strongly Recommended ​ [#priority-b-strongly-recommended]
      • <h3> Priority C: Recommended ​ [#priority-c-recommended]
      • <h3> Priority D: Use with Caution ​ [#priority-d-use-with-caution]
71/style-guide/
  • <h2> Style Guide
  • <h1> Priority C Rules: Recommended ​ [#priority-c-rules-recommended]
    • <h2> Component/instance options order ​ [#component-instance-options-order]
    • <h2> Element attribute order ​ [#element-attribute-order]
    • <h2> Empty lines in component/instance options ​ [#empty-lines-in-component-instance-options]
      • <h3> Bad
      • <h3> Good
      • <h3> Bad
      • <h3> Good
    • <h2> Single-file component top-level element order ​ [#single-file-component-top-level-element-order]
      • <h3> Bad
      • <h3> Good
121/style-guide/rules-recommended
  • <h2> Style Guide
  • <h1> Priority B Rules: Strongly Recommended ​ [#priority-b-rules-strongly-recommended]
    • <h2> Component files ​ [#component-files]
      • <h3> Bad
      • <h3> Good
    • <h2> Single-file component filename casing ​ [#single-file-component-filename-casing]
      • <h3> Bad
      • <h3> Good
    • <h2> Base component names ​ [#base-component-names]
      • <h3> Bad
      • <h3> Good
    • <h2> Tightly coupled component names ​ [#tightly-coupled-component-names]
      • <h3> Bad
      • <h3> Good
    • <h2> Order of words in component names ​ [#order-of-words-in-component-names]
      • <h3> Bad
      • <h3> Good
    • <h2> Self-closing components ​ [#self-closing-components]
      • <h3> Bad
      • <h3> Good
    • <h2> Component name casing in templates ​ [#component-name-casing-in-templates]
      • <h3> Bad
      • <h3> Good
    • <h2> Component name casing in JS/JSX ​ [#component-name-casing-in-js-jsx]
      • <h3> Bad
      • <h3> Good
    • <h2> Full-word component names ​ [#full-word-component-names]
      • <h3> Bad
      • <h3> Good
    • <h2> Prop name casing ​ [#prop-name-casing]
      • <h3> Bad
      • <h3> Good
    • <h2> Multi-attribute elements ​ [#multi-attribute-elements]
      • <h3> Bad
      • <h3> Good
    • <h2> Simple expressions in templates ​ [#simple-expressions-in-templates]
      • <h3> Bad
      • <h3> Good
    • <h2> Simple computed properties ​ [#simple-computed-properties]
      • <h3> Bad
      • <h3> Good
    • <h2> Quoted attribute values ​ [#quoted-attribute-values]
      • <h3> Bad
      • <h3> Good
    • <h2> Directive shorthands ​ [#directive-shorthands]
      • <h3> Bad
      • <h3> Good
471/style-guide/rules-strongly-recommended
  • <h2> Style Guide
  • <h1> Priority D Rules: Use with Caution ​ [#priority-d-rules-use-with-caution]
    • <h2> Element selectors with scoped ​ [#element-selectors-with-scoped]
      • <h3> Bad
      • <h3> Good
    • <h2> Implicit parent-child communication ​ [#implicit-parent-child-communication]
      • <h3> Bad
      • <h3> Good
      • <h3> Bad
      • <h3> Good
101/style-guide/rules-use-with-caution
  • <h1> The ProgressiveJavaScript Framework
    • <h2> Approachable
    • <h2> Performant
    • <h2> Versatile
    • <h2> Platinum Sponsors
    • <h2> Gold Sponsors
60/
  • <h1> Vue.js Privacy Policy ​ [#vue.js-privacy-policy]
    • <h2> What Kinds of Information Do We Collect? ​ [#what-kinds-of-information-do-we-collect]
    • <h2> How Do We Use Information? ​ [#how-do-we-use-information]
    • <h2> Data Retention ​ [#data-retention]
    • <h2> Questions ​ [#questions]
50/about/privacy
  • <h1> API Reference
    • <h2> Global API [#global-api]
      • <h3> Application
      • <h3> General
    • <h2> Composition API [#composition-api]
      • <h3> setup()
      • <h3> Reactivity: Core
      • <h3> Reactivity: Utilities
      • <h3> Reactivity: Advanced
      • <h3> Lifecycle Hooks
      • <h3> Dependency Injection
    • <h2> Options API [#options-api]
      • <h3> Options: State
      • <h3> Options: Rendering
      • <h3> Options: Lifecycle
      • <h3> Options: Composition
      • <h3> Options: Misc
      • <h3> Component Instance
    • <h2> Built-ins [#built-ins]
      • <h3> Directives
      • <h3> Components
      • <h3> Special Elements
      • <h3> Special Attributes
    • <h2> Single-File Component [#single-file-component]
      • <h3> Syntax Specification
      • <h3> &lt;script setup&gt;
      • <h3> CSS Features
    • <h2> Advanced APIs [#advanced-apis]
      • <h3> Render Function
      • <h3> Server-Side Rendering
      • <h3> TypeScript Utility Types
      • <h3> Custom Renderer
      • <h3> Compile-Time Flags
330/api/
  • <h1> Production Error Code Reference ​ [#error-reference]
    • <h2> Runtime Errors ​ [#runtime-errors]
    • <h2> Compiler Errors ​ [#compiler-errors]
30/error-reference/
  • <h1> Glossary ​ [#glossary]
    • <h2> async component ​ [#async-component]
    • <h2> compiler macro ​ [#compiler-macro]
    • <h2> component ​ [#component]
    • <h2> composable ​ [#composable]
    • <h2> Composition API ​ [#composition-api]
    • <h2> custom element ​ [#custom-element]
    • <h2> directive ​ [#directive]
    • <h2> dynamic component ​ [#dynamic-component]
    • <h2> effect ​ [#effect]
    • <h2> event ​ [#event]
    • <h2> fragment ​ [#fragment]
    • <h2> functional component ​ [#functional-component]
    • <h2> hoisting ​ [#hoisting]
    • <h2> in-DOM template ​ [#in-dom-template]
    • <h2> inject ​ [#inject]
    • <h2> lifecycle hooks ​ [#lifecycle-hooks]
    • <h2> macro ​ [#macro]
    • <h2> named slot ​ [#named-slot]
    • <h2> Options API ​ [#options-api]
    • <h2> plugin ​ [#plugin]
    • <h2> prop ​ [#prop]
    • <h2> provide / inject ​ [#provide-inject]
    • <h2> reactive effect ​ [#reactive-effect]
    • <h2> reactivity ​ [#reactivity]
    • <h2> Reactivity API ​ [#reactivity-api]
    • <h2> ref ​ [#ref]
    • <h2> render function ​ [#render-function]
    • <h2> scheduler ​ [#scheduler]
    • <h2> scoped slot ​ [#scoped-slot]
    • <h2> SFC ​ [#sfc]
    • <h2> side effect ​ [#side-effect]
    • <h2> Single-File Component ​ [#single-file-component]
    • <h2> slot ​ [#slot]
    • <h2> template ref ​ [#template-ref]
    • <h2> VDOM ​ [#vdom]
    • <h2> virtual DOM ​ [#virtual-dom]
    • <h2> VNode ​ [#vnode]
    • <h2> Web Component ​ [#web-component]
390/glossary/
  • <h1> Code Of Conduct ​ [#code-of-conduct]
    • <h2> Our Pledge ​ [#our-pledge]
    • <h2> Our Standards ​ [#our-standards]
    • <h2> Our Responsibilities ​ [#our-responsibilities]
    • <h2> Scope ​ [#scope]
    • <h2> Enforcement ​ [#enforcement]
    • <h2> Attribution ​ [#attribution]
70/about/coc
  • <h1> Releases ​ [#releases]
    • <h2> Release Cycle ​ [#release-cycle]
    • <h2> Semantic Versioning Edge Cases ​ [#semantic-versioning-edge-cases]
      • <h3> TypeScript Definitions ​ [#typescript-definitions]
      • <h3> Compiled Code Compatibility with Older Runtime ​ [#compiled-code-compatibility-with-older-runtime]
    • <h2> Pre Releases ​ [#pre-releases]
    • <h2> Deprecations ​ [#deprecations]
    • <h2> RFCs ​ [#rfcs]
    • <h2> Experimental Features ​ [#experimental-features]
90/about/releases
  • <h1> Become a Vue.js Sponsor ​ [#become-a-vue-js-sponsor]
    • <h2> How to Sponsor ​ [#how-to-sponsor]
    • <h2> Sponsoring Vue as a Business ​ [#sponsoring-vue-as-a-business]
    • <h2> Sponsoring Vue as an Individual ​ [#sponsoring-vue-as-an-individual]
    • <h2> Tier Benefits ​ [#tier-benefits]
    • <h2> Current Sponsors ​ [#current-sponsors]
      • <h3> Special Global Sponsor ​ [#special-global-sponsor]
      • <h3> Platinum ​ [#platinum]
      • <h3> Platinum (China) ​ [#platinum-china]
      • <h3> Gold ​ [#gold]
      • <h3> Silver ​ [#silver]
110/sponsor/
00/tutorial/
  • <h1> Meet the Team
    • <h2> Core Team Members
    • <h2> Core Team Emeriti
    • <h2> Community Partners
40/about/team
  • <h1> Community Newsletters ​ [#community-newsletters]
10/ecosystem/newsletters
  • <h1> Frequently Asked Questions ​ [#frequently-asked-questions]
    • <h2> Who maintains Vue? ​ [#who-maintains-vue]
    • <h2> What's the difference between Vue 2 and Vue 3? ​ [#what-s-the-difference-between-vue-2-and-vue-3]
    • <h2> Is Vue 2 Still Supported? ​ [#is-vue-2-still-supported]
    • <h2> What license does Vue use? ​ [#what-license-does-vue-use]
    • <h2> What browsers does Vue support? ​ [#what-browsers-does-vue-support]
    • <h2> Is Vue reliable? ​ [#is-vue-reliable]
    • <h2> Is Vue fast? ​ [#is-vue-fast]
    • <h2> Is Vue lightweight? ​ [#is-vue-lightweight]
    • <h2> Does Vue scale? ​ [#does-vue-scale]
    • <h2> How do I contribute to Vue? ​ [#how-do-i-contribute-to-vue]
    • <h2> Should I use Options API or Composition API? ​ [#should-i-use-options-api-or-composition-api]
    • <h2> Should I use JavaScript or TypeScript with Vue? ​ [#should-i-use-javascript-or-typescript-with-vue]
    • <h2> How does Vue compare to Web Components? ​ [#how-does-vue-compare-to-web-components]
140/about/faq
  • <h1> Vue Partners
    • <h2> Partner Spotlight
    • <h2> Featured Partners
    • <h2> Grow your business with Vue
40/partners/
  • <h1> Community Guide ​ [#community-guide]
    • <h2> Resources ​ [#resources]
      • <h3> Code of Conduct ​ [#code-of-conduct]
      • <h3> Stay in the Know ​ [#stay-in-the-know]
      • <h3> Get Support ​ [#get-support]
      • <h3> Explore the Ecosystem ​ [#explore-the-ecosystem]
    • <h2> What You Can Do ​ [#what-you-can-do]
      • <h3> Help Fellow Users ​ [#help-fellow-users]
      • <h3> Help Triage Issues ​ [#help-triage-issues]
      • <h3> Contribute Code ​ [#contribute-code]
      • <h3> Share (and Build) Your Experience ​ [#share-and-build-your-experience]
      • <h3> Translate Docs ​ [#translate-docs]
      • <h3> Become a Community Leader ​ [#become-a-community-leader]
130/about/community-guide
  • <h1> Browser All Partners
    • <h2> Grow your business with Vue
20/partners/all
  • <h1> Translations ​ [#translations]
    • <h2> Available Languages ​ [#available-languages]
    • <h2> Work in Progress Languages ​ [#work-in-progress-languages]
    • <h2> Starting a new Translation ​ [#starting-a-new-translation]
40/translations/
No rows found, please edit your search term.

Redirected URLs

No redirects found.

Content types

Content typeURLs 🔽Total sizeTotal timeAvg timeStatus 20xStatus 40x
JS1131 MB13 s113 ms 113 0
HTML10310 MB20 s195 ms 101 2
Image635 MB25 s399 ms 63 0
Font14628 kB2.6 s189 ms 14 0
Document6264 kB1.4 s229 ms 6 0
CSS123 kB84 ms84 ms 1 0

Content types (MIME types)

Found 12 row(s).
Content typeURLs 🔽Total sizeTotal timeAvg timeStatus 20xStatus 40x
application/javascript; charset=UTF-81111 MB12 s109 ms 111 0
text/html; charset=UTF-810110 MB20 s195 ms 101 0
image/png332 MB15 s455 ms 33 0
image/jpeg172 MB6 s351 ms 17 0
font/woff214628 kB2.6 s189 ms 14 0
image/webp10263 kB3.9 s389 ms 10 0
text/plain6264 kB1.4 s229 ms 6 0
image/svg+xml371 kB241 ms80 ms 3 0
text/html; charset=utf-8240 kB375 ms188 ms 02
application/javascript; charset=utf-8145 B618 ms618 ms 1 0
text/css; charset=UTF-8123 kB84 ms84 ms 1 0
application/javascript16 kB68 ms68 ms 1 0
No rows found, please edit your search term.

Source domains

Found 12 row(s).
DomainTotalsHTMLImageJSCSSFontDocument
vuejs.org250 / 13MB / 37s103 / 10MB / 20s21 / 1MB / 2.4s111 / 1MB / 12s1 / 23kB / 84ms14 / 628kB / 2.6s
www.primefaces.org6 / 581kB / 1.4s6 / 581kB / 1.4s
flatlogic.com6 / 264kB / 1.4s6 / 264kB / 1.4s
raw.githubusercontent.com6 / 1018kB / 1.6s6 / 1018kB / 1.6s
www.wrappixel.com6 / 339kB / 5.9s6 / 339kB / 5.9s
cdn.themeselection.com6 / 182kB / 475ms6 / 182kB / 475ms
org-public-assets.s3.us-west-2.amazonaws.com6 / 747kB / 6.1s6 / 747kB / 6.1s
adminmart.com6 / 374kB / 6.1s6 / 374kB / 6.1s
mdbootstrap.com4 / 424kB / 683ms4 / 424kB / 683ms
storage.googleapis.com2 / 53kB / 477ms2 / 53kB / 477ms
vueschool.io1 / 45B / 618ms1 / 45B / 618ms
cdn.usefathom.com1 / 6kB / 68ms1 / 6kB / 68ms
No rows found, please edit your search term.

HTTP headers

Found 17 row(s).
Header 🔼OccursUniqueValues previewMin valueMax value
Accept-Ranges2481bytes
Age250-[ignored generic values]0 sec(s)23.8 hour(s)
Cache-Control2502max-age=31536000,immutable (146) / public,max-age=0,must-revalidate (104)
Cache-Status2503"Netlify Edge"; hit (168) / "Netlify Edge"; fwd=miss (49) / "Netlify Edge"; fwd=stale (33)
Connection2501close
Content-Encoding2141br
Content-Length189-[ignored generic values]305 B379 kB
Content-Security-Policy2501frame-ancestors https://staging.certification.vuejs.org https://certification.vutps://alemira.com https://*.alemira.com
Content-Type2507[see values below]
Date250-[ignored generic values]2024-08-162024-08-16
Etag250-[ignored generic values]
Server2501Netlify
Strict-Transport-Security2501max-age=31536000
Transfer-Encoding611chunked
Vary2141Accept-Encoding
X-Frame-Options2501ALLOW-FROM https://staging.certification.vuejs.org https://certification.vuejs.otps://alemira.com https://*.alemira.com
X-Nf-Request-Id25020+[see values below]
No rows found, please edit your search term.

HTTP header values

Found 41 row(s).
HeaderOccursValue
Accept-Ranges248bytes
Cache-Control146max-age=31536000,immutable
Cache-Control104public,max-age=0,must-revalidate
Cache-Status168"Netlify Edge"; hit
Cache-Status49"Netlify Edge"; fwd=miss
Cache-Status33"Netlify Edge"; fwd=stale
Connection250close
Content-Encoding214br
Content-Security-Policy250frame-ancestors https://staging.certification.vuejs.org https://certification.vuejs.org https://certificates.dev https://staging.certificates.dev https://alemira.com https://*.alemira.com
Content-Type111application/javascript; charset=UTF-8
Content-Type101text/html; charset=UTF-8
Content-Type18image/png
Content-Type14font/woff2
Content-Type3image/svg+xml
Content-Type2text/html; charset=utf-8
Content-Type1text/css; charset=UTF-8
Server250Netlify
Strict-Transport-Security250max-age=31536000
Transfer-Encoding61chunked
Vary214Accept-Encoding
X-Frame-Options250ALLOW-FROM https://staging.certification.vuejs.org https://certification.vuejs.org https://certificates.dev https://staging.certificates.dev https://alemira.com https://*.alemira.com
X-Nf-Request-Id101J5E8HGJNPY5XN9J3M14VBRGC
X-Nf-Request-Id101J5E8HGS12W9CD7P6CFSH2TZF
X-Nf-Request-Id101J5E8HGQGS7JJ5KKZ5BPNM3Q2
X-Nf-Request-Id101J5E8HGTWHSPC8FF4WEHZ7JGG
X-Nf-Request-Id101J5E8HGXT3J51WRP78A52JY00
X-Nf-Request-Id101J5E8J0NVAZ13W77PMRARWM5K
X-Nf-Request-Id101J5E8HGW903WX8PQHH510W031
X-Nf-Request-Id101J5E8HGZZMBXC1ZBN10YR7ZB9
X-Nf-Request-Id101J5E8HJGSZMPDZK28A601XANH
X-Nf-Request-Id101J5E8HH7XN3F3CACFPGW160TH
X-Nf-Request-Id101J5E8HHB54N3Y8SYHDNJDDGV3
X-Nf-Request-Id101J5E8HH389FT1XE726536HK56
X-Nf-Request-Id101J5E8HHD9CVCSY9G1Q09WYZXS
X-Nf-Request-Id101J5E8HHH9JBAMDC4CDRRVGNRX
X-Nf-Request-Id101J5E8HHE5QH8R4MWW1XNVB4E7
X-Nf-Request-Id101J5E8HHFCFYV8HBZMAX1NBYB2
X-Nf-Request-Id101J5E8HHKJ7BWH35ABZRA1D4M0
X-Nf-Request-Id101J5E8HHN4NF0375PGA7M4CJTP
X-Nf-Request-Id101J5E8HHVSYZ83GGRJF22RBGFK
X-Nf-Request-Id101J5E8HHYZTYJPTNVW8SM22PVZ
No rows found, please edit your search term.

DNS info

DNS resolving tree
vuejs.org
  IPv4: 3.79.76.132
  IPv4: 3.121.122.184
  IPv6: 2a05:d014:58f:6202::1f4
  IPv6: 2a05:d014:58f:6201::1f4
DNS server: 10.255.255.254

SSL/TLS info

InfoText
IssuerC = US, O = Let's Encrypt, CN = E6
SubjectCN = vuejs.org
Valid fromJul 27 23:22:10 2024 GMT (VALID already 19.8 day(s))
Valid toOct 25 23:22:09 2024 GMT (VALID still for 70.2 day(s))
Supported protocolsTLSv1.2, TLSv1.3
RAW certificate outputCertificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            03:55:8b:92:4f:99:b6:ea:04:18:07:f0:22:70:5c:32:36:15
        Signature Algorithm: ecdsa-with-SHA384
        Issuer: C = US, O = Let's Encrypt, CN = E6
        Validity
            Not Before: Jul 27 23:22:10 2024 GMT
            Not After : Oct 25 23:22:09 2024 GMT
        Subject: CN = vuejs.org
        Subject Public Key Info:
            Public Key Algorithm: id-ecPublicKey
                Public-Key: (256 bit)
                pub:
                    04:08:15:9c:9f:af:2e:3d:d5:a0:d9:6e:56:0d:1f:
                    d3:63:28:68:05:32:20:3e:dc:bb:97:82:a7:37:e1:
                    5c:8c:62:d8:9e:98:38:ee:a8:1e:85:fc:1a:07:17:
                    00:0c:25:b7:06:7f:81:ab:e8:c3:b1:6a:84:01:81:
                    d5:12:ee:5e:2b
                ASN1 OID: prime256v1
                NIST CURVE: P-256
        X509v3 extensions:
            X509v3 Key Usage: critical
                Digital Signature
            X509v3 Extended Key Usage: 
                TLS Web Server Authentication, TLS Web Client Authentication
            X509v3 Basic Constraints: critical
                CA:FALSE
            X509v3 Subject Key Identifier: 
                F7:B9:7C:71:46:31:7A:74:3F:75:30:46:6E:43:21:88:EF:29:F9:8D
            X509v3 Authority Key Identifier: 
                93:27:46:98:03:A9:51:68:8E:98:D6:C4:42:48:DB:23:BF:58:94:D2
            Authority Information Access: 
                OCSP - URI:http://e6.o.lencr.org
                CA Issuers - URI:http://e6.i.lencr.org/
            X509v3 Subject Alternative Name: 
                DNS:vuejs.org, DNS:www.vuejs.org
            X509v3 Certificate Policies: 
                Policy: 2.23.140.1.2.1
            CT Precertificate SCTs: 
                Signed Certificate Timestamp:
                    Version   : v1 (0x0)
                    Log ID    : 3F:17:4B:4F:D7:22:47:58:94:1D:65:1C:84:BE:0D:12:
                                ED:90:37:7F:1F:85:6A:EB:C1:BF:28:85:EC:F8:64:6E
                    Timestamp : Jul 28 00:22:10.539 2024 GMT
                    Extensions: none
                    Signature : ecdsa-with-SHA256
                                30:46:02:21:00:DA:F3:95:17:EA:9B:FB:16:93:C3:E4:
                                64:39:5F:39:CB:87:AD:E0:05:85:7E:89:50:42:86:1D:
                                59:85:A6:B6:FD:02:21:00:99:B2:64:E5:33:A8:AB:60:
                                5B:7D:60:7B:43:6D:62:63:0C:34:94:74:35:9B:22:C3:
                                81:A8:22:EC:C9:93:64:1B
                Signed Certificate Timestamp:
                    Version   : v1 (0x0)
                    Log ID    : 19:98:10:71:09:F0:D6:52:2E:30:80:D2:9E:3F:64:BB:
                                83:6E:28:CC:F9:0F:52:8E:EE:DF:CE:4A:3F:16:B4:CA
                    Timestamp : Jul 28 00:22:10.563 2024 GMT
                    Extensions: none
                    Signature : ecdsa-with-SHA256
                                30:46:02:21:00:C3:B7:CA:20:83:A0:67:88:E9:99:ED:
                                26:95:29:87:1F:FD:8B:FA:F4:15:B1:D5:EB:DA:6F:83:
                                02:FA:28:DE:69:02:21:00:D3:07:1D:8F:F0:7E:69:EB:
                                C6:FA:3B:CA:C2:83:B0:B4:7F:D5:9D:9A:12:04:36:3B:
                                DB:75:5B:E0:DB:29:07:E8
    Signature Algorithm: ecdsa-with-SHA384
    Signature Value:
        30:65:02:31:00:97:15:72:3b:4b:c4:12:b7:12:47:44:56:06:
        1e:38:5d:85:c4:28:2a:7d:f4:04:ae:3c:1f:04:69:98:fb:cf:
        2b:2b:5c:d5:d4:e1:8e:53:57:b7:31:68:0c:20:62:52:b3:02:
        30:76:54:e5:e7:b1:6e:4a:a9:8f:38:a9:43:17:d0:ef:d3:e9:
        42:6c:b5:e2:a0:dc:a2:d0:ed:47:46:7e:0e:4a:66:a2:b1:0f:
        77:ea:b3:2a:66:2e:a4:99:94:f9:7b:47:df
RAW protocols outputdepth=2 C = US, O = Internet Security Research Group, CN = ISRG Root X1
verify return:1
depth=1 C = US, O = Let's Encrypt, CN = E6
verify return:1
depth=0 CN = vuejs.org
verify return:1
CONNECTED(00000005)
---
Certificate chain
 0 s:CN = vuejs.org
   i:C = US, O = Let's Encrypt, CN = E6
   a:PKEY: id-ecPublicKey, 256 (bit); sigalg: ecdsa-with-SHA384
   v:NotBefore: Jul 27 23:22:10 2024 GMT; NotAfter: Oct 25 23:22:09 2024 GMT
 1 s:C = US, O = Let's Encrypt, CN = E6
   i:C = US, O = Internet Security Research Group, CN = ISRG Root X1
   a:PKEY: id-ecPublicKey, 384 (bit); sigalg: RSA-SHA256
   v:NotBefore: Mar 13 00:00:00 2024 GMT; NotAfter: Mar 12 23:59:59 2027 GMT
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIDhDCCAwqgAwIBAgISA1WLkk+ZtuoEGAfwInBcMjYVMAoGCCqGSM49BAMDMDIx
CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQDEwJF
NjAeFw0yNDA3MjcyMzIyMTBaFw0yNDEwMjUyMzIyMDlaMBQxEjAQBgNVBAMTCXZ1
ZWpzLm9yZzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABAgVnJ+vLj3VoNluVg0f
02MoaAUyID7cu5eCpzfhXIxi2J6YOO6oHoX8GgcXAAwltwZ/gavow7FqhAGB1RLu
XiujggIcMIICGDAOBgNVHQ8BAf8EBAMCB4AwHQYDVR0lBBYwFAYIKwYBBQUHAwEG
CCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFPe5fHFGMXp0P3UwRm5D
IYjvKfmNMB8GA1UdIwQYMBaAFJMnRpgDqVFojpjWxEJI2yO/WJTSMFUGCCsGAQUF
BwEBBEkwRzAhBggrBgEFBQcwAYYVaHR0cDovL2U2Lm8ubGVuY3Iub3JnMCIGCCsG
AQUFBzAChhZodHRwOi8vZTYuaS5sZW5jci5vcmcvMCMGA1UdEQQcMBqCCXZ1ZWpz
Lm9yZ4INd3d3LnZ1ZWpzLm9yZzATBgNVHSAEDDAKMAgGBmeBDAECATCCAQYGCisG
AQQB1nkCBAIEgfcEgfQA8gB3AD8XS0/XIkdYlB1lHIS+DRLtkDd/H4Vq68G/KIXs
+GRuAAABkPa3XWsAAAQDAEgwRgIhANrzlRfqm/sWk8PkZDlfOcuHreAFhX6JUEKG
HVmFprb9AiEAmbJk5TOoq2BbfWB7Q21iYww0lHQ1myLDgagi7MmTZBsAdwAZmBBx
CfDWUi4wgNKeP2S7g24ozPkPUo7u385KPxa0ygAAAZD2t12DAAAEAwBIMEYCIQDD
t8ogg6BniOmZ7SaVKYcf/Yv69BWx1evab4MC+ijeaQIhANMHHY/wfmnrxvo7ysKD
sLR/1Z2aEgQ2O9t1W+DbKQfoMAoGCCqGSM49BAMDA2gAMGUCMQCXFXI7S8QStxJH
RFYGHjhdhcQoKn30BK48HwRpmPvPKytc1dThjlNXtzFoDCBiUrMCMHZU5eexbkqp
jzipQxfQ79PpQmy14qDcotDtR0Z+DkpmorEPd+qzKmYupJmU+XtH3w==
-----END CERTIFICATE-----
subject=CN = vuejs.org
issuer=C = US, O = Let's Encrypt, CN = E6
---
No client certificate CA names sent
Peer signing digest: SHA256
Peer signature type: ECDSA
Server Temp Key: X25519, 253 bits
---
SSL handshake has read 2378 bytes and written 307 bytes
Verification: OK
---
New, TLSv1.3, Cipher is TLS_AES_128_GCM_SHA256
Server public key is 256 bit
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)
---
DONE
---
Post-Handshake New Session Ticket arrived:
SSL-Session:
    Protocol  : TLSv1.3
    Cipher    : TLS_AES_128_GCM_SHA256
    Session-ID: B8A67FCF0734E2B6DEBEE7ECE4FFBB7B4109B366B082C6144A74C5A6CC1BFA16
    Session-ID-ctx: 
    Resumption PSK: 1F6948DFC5081CA80169E673EBFAAEECA605810788E8853FAC7EE4008DF7E454
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    TLS session ticket lifetime hint: 604800 (seconds)
    TLS session ticket:
    0000 - ab 6a 08 d2 9e b6 d0 c8-5c a9 27 2b 22 8a ae 5b   .j......\.'+"..[
    0010 - f1 98 92 a0 ad f4 31 67-3a a2 df 87 4b 2a 27 61   ......1g:...K*'a
    0020 - 0b db 42 6e 3e 1d fb 3b-1f 19 f6 27 27 be 2f b3   ..Bn>..;...''./.
    0030 - b5 1f 1e 04 07 65 e7 e8-25 c1 e3 45 9a 65 83 bd   .....e..%..E.e..
    0040 - 64 02 a6 36 db cf f0 74-eb 0f 1e 4a d2 21 eb 5c   d..6...t...J.!.\
    0050 - 84 07 3c 05 c7 d9 81 15-69 0e d5 84 dc d0 50 d2   ..<.....i.....P.
    0060 - 9e f3 51 40 9d 5a de 5c-b7                        ..Q@.Z.\.

    Start Time: 1723834394
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
    Extended master secret: no
    Max Early Data: 0
---
read R BLOCK

Crawler stats

Basic stats
Total execution time20 s
Total URLs300
Total size17 MB
Requests - total time62 s
Requests - avg time207 ms
Requests - min time59 ms
Requests - max time1.4 s
Requests by status200 : 298
404 : 2

Analysis stats

Found 20 row(s).
Class::methodExec time 🔽Exec count
SslTlsAnalyzer::getTLSandSSLCertificateInfo368 ms 1
Manager::parseDOMDocument313 ms 103
AccessibilityAnalyzer::checkMissingRoles154 ms 101
BestPracticeAnalyzer::checkInlineSvg103 ms 103
AccessibilityAnalyzer::checkMissingAriaLabels96 ms 101
BestPracticeAnalyzer::checkMaxDOMDepth63 ms 103
BestPracticeAnalyzer::checkNonClickablePhoneNumbers59 ms 103
BestPracticeAnalyzer::checkHeadingStructure43 ms 103
BestPracticeAnalyzer::checkMissingQuotesOnAttributes15 ms 103
AccessibilityAnalyzer::checkMissingLabels9 ms 101
AccessibilityAnalyzer::checkImageAltAttributes1 ms 101
AccessibilityAnalyzer::checkMissingLang0 ms 101
SeoAndOpenGraphAnalyzer::analyzeHeadings0 ms 1
SeoAndOpenGraphAnalyzer::analyzeSeo0 ms 1
SeoAndOpenGraphAnalyzer::analyzeOpenGraph0 ms 1
BestPracticeAnalyzer::checkTitleUniqueness0 ms 1
BestPracticeAnalyzer::checkMetaDescriptionUniqueness0 ms 1
BestPracticeAnalyzer::checkBrotliSupport0 ms 1
BestPracticeAnalyzer::checkWebpSupport0 ms 1
BestPracticeAnalyzer::checkAvifSupport0 ms 1
No rows found, please edit your search term.

Content processor stats

Found 12 row(s).
Class::methodExec time 🔽Exec count
HtmlProcessor::findUrls46 ms 103
AstroProcessor::findUrls12 ms 216
JavaScriptProcessor::findUrls4 ms 216
NextJsProcessor::applyContentChangesBeforeUrlParsing4 ms 217
CssProcessor::findUrls1 ms 104
AstroProcessor::applyContentChangesBeforeUrlParsing0 ms 216
NextJsProcessor::findUrls0 ms 217
JavaScriptProcessor::applyContentChangesBeforeUrlParsing0 ms 216
SvelteProcessor::findUrls0 ms 103
HtmlProcessor::applyContentChangesBeforeUrlParsing0 ms 103
CssProcessor::applyContentChangesBeforeUrlParsing0 ms 104
SvelteProcessor::applyContentChangesBeforeUrlParsing0 ms 103
No rows found, please edit your search term.

Crawler info

Version 1.0.7.20231222
Executed At 2024-08-16 18:52:55
Commandsrc/crawler.php \
  --workers=3 \
  --max-reqs-per-sec=20 \
  --upload \
  --upload-retention=forever \
  --max-visited-urls=1000 \
  --allowed-domain-for-external-files=* \
  --extra-columns=Cache-Status(30),Title(50) \
  --url=https://vuejs.org/
User-Agent Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/24.0.0.0 Safari/537.36 siteone-crawler/1.0.7.20231222