---
title: "Advanced Vue track · vuejs.school"
description: "11 lessons, in order. They build on Beginner 2, but you can open any lesson at any time."
canonical_url: "https://vuejs.school/track/advanced"
meta:
  "og:description": "11 lessons, in order. They build on Beginner 2, but you can open any lesson at any time."
  "og:image": "https://vuejs.school/_og/d/a_~QWR2YW5jZWQgVnVlIHRyYWNrIMK3IHZ1ZWpzLnNjaG9vbA%2Cc_OgCard.takumi%2Ctitle_Advanced%2BVue%2Btrack%2Cdescription_~MTEgbGVzc29ucywgaW4gb3JkZXIuIFRoZXkgYnVpbGQgb24gQmVnaW5uZXIgMiwgYnV0IHlvdSBjYW4gb3BlbiBhbnkgbGVzc29uIGF0IGFueSB0aW1lLg%2Ceyebrow_~U2tpbGwgdHJlZSDCtyAxMSBsZXNzb25z%2Ctint_lilac%2Cp_Ii90cmFjay9hZHZhbmNlZCI%2Cs_AW6-wmSMFuY8JXgB.png"
  "og:image:alt": "Advanced Vue track · vuejs.school"
  "og:image:height": "600"
  "og:image:type": image/png
  "og:image:width": "1200"
  "og:title": "Advanced Vue track · vuejs.school"
  "twitter:image": "https://vuejs.school/_og/d/a_~QWR2YW5jZWQgVnVlIHRyYWNrIMK3IHZ1ZWpzLnNjaG9vbA%2Cc_OgCard.takumi%2Ctitle_Advanced%2BVue%2Btrack%2Cdescription_~MTEgbGVzc29ucywgaW4gb3JkZXIuIFRoZXkgYnVpbGQgb24gQmVnaW5uZXIgMiwgYnV0IHlvdSBjYW4gb3BlbiBhbnkgbGVzc29uIGF0IGFueSB0aW1lLg%2Ceyebrow_~U2tpbGwgdHJlZSDCtyAxMSBsZXNzb25z%2Ctint_lilac%2Cp_Ii90cmFjay9hZHZhbmNlZCI%2Cs_AW6-wmSMFuY8JXgB.png"
  "twitter:image:alt": "Advanced Vue track · vuejs.school"
---

> Index of every page on this site: [llms.txt](https://vuejs.school/llms.txt)

**Grows from **[Beginner 2 · Reactivity basics](https://vuejs.school/track/beginner)

# **Advanced Vue**

11 lessons, in order. They build on Beginner 2, but you can open any lesson at any time.

0 of 11 done

[**Start: Watchers in depth**](https://vuejs.school/learn/advanced/watchers-in-depth)

**Advanced Vue**Builds on Beginner 2 · 0 of 11 done

[01**Watchers in depth**](https://vuejs.school/learn/advanced/watchers-in-depth)

[02**Reactivity in depth**](https://vuejs.school/learn/advanced/reactivity-in-depth)

[03**Composables**](https://vuejs.school/learn/advanced/composables)

[04**Provide and inject**](https://vuejs.school/learn/advanced/provide-and-inject)

[05**Custom directives and plugins**](https://vuejs.school/learn/advanced/custom-directives-and-plugins)

[06**Dynamic and async components**](https://vuejs.school/learn/advanced/dynamic-and-async-components)

[07**Error handling and debugging**](https://vuejs.school/learn/advanced/error-handling-and-debugging)

[08**Teleport and Suspense**](https://vuejs.school/learn/advanced/teleport-and-suspense)

[09**Render functions and JSX**](https://vuejs.school/learn/advanced/render-functions-and-jsx)

[10**Reading Options API code**](https://vuejs.school/learn/advanced/reading-options-api-code)

[11**Performance and Vapor Mode**](https://vuejs.school/learn/advanced/performance-and-vapor-mode)

```json
{"@context":"https://schema.org","@graph":[{"@id":"https://vuejs.school/#website","@type":"WebSite","description":"A free AI-instructed school for Vue.js. Short tutorials, runnable code and quizzes that adapt to you.","name":"vuejs.school","url":"https://vuejs.school/","publisher":{"@id":"https://vuejs.school/#identity"}},{"@id":"https://vuejs.school/track/advanced#webpage","@type":"WebPage","description":"11 lessons, in order. They build on Beginner 2, but you can open any lesson at any time.","name":"Advanced Vue track","url":"https://vuejs.school/track/advanced","breadcrumb":{"@id":"https://vuejs.school/track/advanced#breadcrumb"},"isPartOf":{"@id":"https://vuejs.school/#website"},"potentialAction":[{"@type":"ReadAction","target":["https://vuejs.school/track/advanced"]}],"primaryImageOfPage":{"@id":"https://vuejs.school/#logo"}},{"@id":"https://vuejs.school/#identity","@type":"Organization","description":"A free AI-instructed school for Vue.js. Short tutorials, runnable code and quizzes that adapt to you.","name":"vuejs.school","url":"https://vuejs.school","logo":{"@id":"https://vuejs.school/#logo"}},{"@id":"https://vuejs.school/track/advanced#/schema/course/1","@type":"Course","description":"11 lessons, in order. They build on Beginner 2, but you can open any lesson at any time.","inLanguage":"en","isAccessibleForFree":true,"name":"Advanced Vue track","provider":{"@id":"https://vuejs.school/#identity"},"teaches":["Watchers in depth","Reactivity in depth","Composables","Provide and inject","Custom directives and plugins","Dynamic and async components","Error handling and debugging","Teleport and Suspense","Render functions and JSX","Reading Options API code","Performance and Vapor Mode"]},{"@id":"https://vuejs.school/track/advanced#breadcrumb","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","name":"Skill tree","item":"https://vuejs.school/track","position":1},{"@type":"ListItem","name":"Advanced Vue","position":2}]},{"@id":"https://vuejs.school/#logo","@type":"ImageObject","caption":"vuejs.school","contentUrl":"https://vuejs.school/apple-touch-icon.png","inLanguage":"en","url":"https://vuejs.school/apple-touch-icon.png"}]}
```