Skip to content

创建页面

分类Composition API(Vue3)Options API(Vue3/2)
路由链接<RouterLink>-
路由视图<RouterView>-
路由配置createRouter()-
路由类型createWebHistory()-

创建视图

src/views/AboutView.vue

vue
// 视图脚本
<script lang="ts" step>
</script>

// 视图模板
<template>
  <main>
    <div>About View</div>
  </main>
</template>

// 视图样式
<style></style>
vue
// 视图脚本
<script lang="ts" step>
</script>

// 视图模板
<template>
  <main>
    <div>About View</div>
  </main>
</template>

// 视图样式
<style></style>

创建路由配置

src/router/index.ts

typescript
import { createRouter, createWebHistory } from 'vue-router'
import HomeView from '../views/HomeView.vue'

const router = createRouter({
  history: createWebHistory(import.meta.env.BASE_URL),
  routes: [
    {
      path: '/',
      name: 'home',
      component: HomeView
    },
    { 
      path: '/about',
      name: 'about',  // 路由名称
      // route level code-splitting
      // this generates a separate chunk (About.[hash].js) for this route
      // which is lazy-loaded when the route is visited.
      component: () => import('../views/AboutView.vue') // 路由懒加载的视图组件
    }
  ]
})

export default router
typescript
import { createRouter, createWebHistory } from 'vue-router'
import HomeView from '../views/HomeView.vue'

const router = createRouter({
  history: createWebHistory(import.meta.env.BASE_URL),
  routes: [
    {
      path: '/',
      name: 'home',
      component: HomeView
    },
    { 
      path: '/about',
      name: 'about',  // 路由名称
      // route level code-splitting
      // this generates a separate chunk (About.[hash].js) for this route
      // which is lazy-loaded when the route is visited.
      component: () => import('../views/AboutView.vue') // 路由懒加载的视图组件
    }
  ]
})

export default router

创建导航菜单

src/App.vue

vue
// 脚本
<script setup lang="ts">
import { RouterLink, RouterView } from 'vue-router'
</script>

// 模板
<template>
  <header>
    <nav>
      <RouterLink to="/">Home</RouterLink>
      <RouterLink to="/about">About</RouterLink>
    </nav>
  </header>

  <RouterView />
</template>

// 样式
<style></style>
vue
// 脚本
<script setup lang="ts">
import { RouterLink, RouterView } from 'vue-router'
</script>

// 模板
<template>
  <header>
    <nav>
      <RouterLink to="/">Home</RouterLink>
      <RouterLink to="/about">About</RouterLink>
    </nav>
  </header>

  <RouterView />
</template>

// 样式
<style></style>

访问 /about 即可查看页面内容。