diff --git a/docs/vue/quickstart.md b/docs/vue/quickstart.md
index de98ac8bc6d..c7a5e4bbde8 100644
--- a/docs/vue/quickstart.md
+++ b/docs/vue/quickstart.md
@@ -56,7 +56,7 @@ npm uninstall --save typescript @types/jest @typescript-eslint/eslint-plugin @ty
5. Delete the `shims-vue.d.ts` file.
-6. Remove `lang="ts"` from the `script` tags in any of your Vue components that have them. In a blank Ionic Vue app, this should only be `App.vue` and `views/Home.vue`.
+6. Remove `lang="ts"` from the `script` tags in any of your Vue components that have them. In a blank Ionic Vue app, this should only be `App.vue` and `views/HomePage.vue`.
## A look at a Vue Component
@@ -91,27 +91,22 @@ If we open `App.vue` we should see the following:
-
```
-Let's break it down, starting with the first group of imports.
+Let's break it down, starting with the imports.
```tsx
-import { IonApp, IonRouterOutlet } from '@ionic/vue';
+
```
-To use a component in Vue, you must first import it. So for Ionic Framework, this means anytime we want to use a Button or a Card, it must be added to our imports. In the case of our `App` component, we are using `IonApp` and `IonRouterOutlet`. You can also register components globally if you find yourself importing the same components repeatedly. This comes with performance tradeoffs that we cover in [Optimizing Your Build](#optimizing-your-build).
+To use a component in Vue, you must first import it. So for Ionic Framework, this means anytime we want to use a Button or a Card, it must be added to our imports. In the case of our `App` component, we are using `IonApp` and `IonRouterOutlet`. Vue's [`script setup` syntax](https://vuejs.org/api/sfc-script-setup.html) gives the template access to those components as `` and ``.
+
+You can also register components globally if you find yourself importing the same components repeatedly. This comes with performance tradeoffs that we cover in [Optimizing Your Build](#optimizing-your-build).
From there, let's look at the template.
@@ -125,25 +120,6 @@ From there, let's look at the template.
All Vue components must have a ``. Inside of there, we place our `IonApp` and `IonRouterOutlet` components.
-Finally, let's look at the component definition:
-
-```tsx
-import { IonApp, IonRouterOutlet } from '@ionic/vue';
-import { defineComponent } from 'vue';
-
-export default defineComponent({
- name: 'App',
- components: {
- IonApp,
- IonRouterOutlet,
- },
-});
-```
-
-Vue 3 offers a new `defineComponent` function when creating components for improved tooling support, and we are going to use that here. We first define the name of the component, and then we supply the components that we will use in our template.
-
-There are several arguments you can supply here such as `methods`, `setup` and more. This is explained as part of Vue's [Composition API Documentation](https://v3.vuejs.org/guide/composition-api-introduction.html#why-composition-api).
-
## Initializing the router
Ionic Vue uses the [vue-router](https://router.vuejs.org/) dependency, so if you are already familiar with Vue Router, you will be able to apply what you know to navigation in Ionic Vue. Let's take a look at the router configuration we mentioned before. In `router/index.ts`, you should see something similar to the following:
@@ -151,7 +127,7 @@ Ionic Vue uses the [vue-router](https://router.vuejs.org/) dependency, so if you
```tsx
import { createRouter, createWebHistory } from '@ionic/vue-router';
import { RouteRecordRaw } from 'vue-router';
-import Home from '@/views/Home.vue';
+import HomePage from '@/views/HomePage.vue';
const routes: Array = [
{
@@ -161,7 +137,7 @@ const routes: Array = [
{
path: '/home',
name: 'Home',
- component: Home,
+ component: HomePage,
},
];
@@ -192,12 +168,12 @@ const routes: Array = [
{
path: '/home',
name: 'Home',
- component: () => import('@/views/Home.vue'),
+ component: () => import('@/views/HomePage.vue'),
},
];
```
-Now, you might be wondering: Why do we use `@` when describing the path to our components? The `@` symbol is a shortcut we can use to describe paths relative to the `src` directory. This is useful if we are trying to reference a component while in a file several folders deep. Instead of doing `'../../../views/Home.vue'`, we could simply do `'@/views/Home.vue'`.
+Now, you might be wondering: Why do we use `@` when describing the path to our components? The `@` symbol is a shortcut we can use to describe paths relative to the `src` directory. This is useful if we are trying to reference a component while in a file several folders deep. Instead of doing `'../../../views/HomePage.vue'`, we could simply do `'@/views/HomePage.vue'`.
## A component with style
@@ -236,20 +212,8 @@ Currently, the `Home` component looks like so:
-