Đăng nhập

BÀI 3: ROUTING TỰ ĐỘNG VỚI pages/

Chào mừng đến với Bài 3 – Làm quen với pages và hệ thống routing tự động trong Nuxt. Đây là một trong những tính năng nổi bật của Nuxt: tạo router tự động chỉ bằng cách tạo file .vue trong thư mục pages/.


1. Mỗi file .vue trong pages/ là một route

Ví dụ:

Tạo file: pages/index.vue

<template>
  <h1>Trang chủ</h1>
</template>

Mặc định route: http://localhost:3000/


Tạo file: pages/about.vue

<template>
  <h1>Trang Giới thiệu</h1>
</template>

Mặc định route: http://localhost:3000/about


2. Route con – nested route

Tạo thư mục: pages/blog/

Rồi tạo file pages/blog/index.vue:

<template>
  <h1>Blog Home</h1>
</template>

Truy cập: http://localhost:3000/blog


Tạo thêm: pages/blog/post.vue

<template>
  <h2>Bài viết giới thiệu</h2>
</template>

Truy cập: http://localhost:3000/blog/post


3. Route động – truyền biến qua URL

Tạo file: pages/user/[id].vue

<template>
  <h1>Trang người dùng: {{ id }}</h1>
</template>

<script setup>
const route = useRoute()
const id = route.params.id
</script>

Truy cập: http://localhost:3000/user/123
Kết quả: “Trang người dùng: 123”


4. Route động nhiều cấp

Tạo file: pages/product/[category]/[slug].vue

<template>
  <div>
    <h2>Sản phẩm: {{ slug }}</h2>
    <p>Danh mục: {{ category }}</p>
  </div>
</template>

<script setup>
const { category, slug } = useRoute().params
</script>

Truy cập: http://localhost:3000/product/ao-thun/mickey


5. Redirect mặc định

Bạn có thể dùng definePageMeta để cấu hình:

<script setup>
definePageMeta({
  layout: 'custom'
})
</script>

(Chi tiết layout sẽ học ở Bài 4)


Tổng kết bài học

Tính năngCách dùng
Route /pages/index.vue
Route /aboutpages/about.vue
Route lồng /blog/postpages/blog/post.vue
Route động /user/:idpages/user/[id].vue
Route nhiều parampages/product/[cat]/[slug].vue

Bạn đã học được

  • Tạo route tự động bằng file
  • Xử lý route động (params)
  • Cách tổ chức thư mục cho nested route

Thảo luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Đăng ký nhận tin mới

Nhận bài học, tài nguyên và cơ hội việc làm qua email hàng tuần.

Chúng tôi cam kết không spam. Bạn có thể hủy bất cứ lúc nào.