iT邦幫忙

2024 iThome 鐵人賽

DAY 13
0
Modern Web

[Nuxt]做中學,用Nuxt打造專屬自己的部落格系列 第 13

[Day13] 捕獲全部路由 (Catch-all Route)

  • 分享至 

  • xImage
  •  

為了顯示NuxtContentContent我們要先建一個catch-all route

捕獲全部路由(Catch-all Route)

我們本來有一個app/pages/blog/[id].vue檔案,讓我們網站路由到/blog/[id]的時候,畫面也會拿到id的值。
但是假設今天路由有更多層了,例如:/blog/a/b/c。那我們就可以使用catch-all route來得到每一層的值。

怎麼做呢?
將檔名改成[...slug].vue即可
首先我們先將app/pages/blog/[id].vue檔名改成app/pages/blog/[...slug].vue
然後我們就可以使用route.params.slug印出每一層值了。

<script setup lang="ts">
const route = useRoute();
</script>

<template>
  <div>
    <h1>文章內頁{{route.params.slug}}</h1>
  </div>
</template>

成功後執行應用程式,我們導頁到/blog/a/b/c,畫面即可得到:
https://ithelp.ithome.com.tw/upload/images/20240927/20130413Dn72Yyxpl2.png


上一篇
[Day12]安裝NuxtContent
下一篇
[Day14]嵌入Markdown到Page
系列文
[Nuxt]做中學,用Nuxt打造專屬自己的部落格14
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言