了解Vue Router、pinia

更新 發佈閱讀 6 分鐘



首先,我們要先來了解Vue Router在幹嘛,以及為什麼會需要Vue Router~


我們先來講講為什麼需要他~


使用者在操作網頁時,上方通常會有導覽列,點擊不同的項目就會切換到不同的頁面。在 Vue 這種單頁應用(SPA)中,畫面切換並不會真的重新載入整個頁面,而是動態替換顯示的內容。這時候我們就需要 Vue Router,它負責將不同的 URL 路徑對應到對應的 component,讓使用者感覺像在換頁,但實際上只是在切換元件。



使用Vue Router

那我們來看看我們要該怎麼做呢?

我們先創一個router的js檔案,然後再裡面做一個export 一個變數 routes 去做一個陣列,然後再物件裡面做 { path: '/路由的名字', component: component的名稱 }

然後再上面像是 import {ref, Onmounted} 等等那些一樣,把那些 component 給 import 過來

vocus|新世代的創作平台



然後再去原來的 index.js 裡面的 route 改成 routes (因為component名字我設定routes所以這邊把它改成 routes)

vocus|新世代的創作平台



之後再設定一個資料夾要放入要做的頁面,我這邊設定 pages

vocus|新世代的創作平台



之後再 app.vue 裡面的 template 裡面輸入 <RouterLink> </RouterLink> 然後再 <RouterLink> 的 <> 裡面放入to='/' ,而 to='/' 的 '' 的裡面要放就是我們在 routes 裡面放的 path= '/路由的名稱' , 然後最後再放上 </RouterView> 把他關起來。

vocus|新世代的創作平台

那最後會長這樣:

Test.vue的檔案:

我們在點選的時候,原本我們在 vue 裡面執行 npm run dev 之後會跑 localhost:5173 那我們點選 test 之後會發現後面多了 /test 路由變了。

vocus|新世代的創作平台

TestWork.vue的檔案:

我們在點選的時候,原本我們在 vue 裡面執行 npm run dev 之後會跑 localhost:5173 那我們點選 testWork 之後會發現後面多了 /testWork 路由變了。

vocus|新世代的創作平台

Resume.vue的檔案:

我們在點選的時候,原本我們在 vue 裡面執行 npm run dev 之後會跑 localhost:5173 那我們點選 resume 之後會發現後面多了 /resume 路由變了。

(這邊放我的履歷表當範例)

vocus|新世代的創作平台




Vue pinia:

什麼是pinia呢?

pinia是一個狀態管理工具,那簡單來說就是說我們創造一個所有元件都可以進行共享的資料倉庫。當今天我們要使用的時候,可以直接那邊拿去資料直接進行使用。

那今天我們為什麼會需要他呢? 我們今天在Vue裡面,因為元件之間資料傳送通常會需要使用到props,但是如果層級很深獲是跨頁面的話,相對來說就會比較麻煩。所以為了解決這件事情,所以就出現了pinia,而pinia的出現可以幫我們把資料放在一個Store裡面,那今天我們需要使用的時候只需要把它引入就好。

範例:

基本上在建立一份Vue的新專案的時候Vue就會問你要不要導入pinia了

那我們導入之後會出現一個 stores 的資料夾

之後我們就這樣使用:

export 一個變數'const' 名稱 = definestore 後面就坐箭頭函式 ('這邊是參數名稱', () => {

而大括弧裡面就看要你要傳什麼資料出去,裡面可以做 ref、computed、function 等等的東西

像我這邊有做一個 ref 裡面包陣列,陣列裡面包物件資料。

然後有做一個 ref 裡面包空陣列 [] 要裝 push 資料進去

也有做一個 function 來做邏輯。

  const userHome = ref([
    { id: 1, name: 'cellPhone', price: 6000},
    { id: 2, name: 'ipad', price: 8000},
    { id: 3, name: 'computer', price: 10000}
  ])

  const shoppingCart = ref([])

  function userUseShoppingCart(product){
    shoppingCart.value.push(product)
  }

然後做完之後記得一定要 return 出去那不然會拿不到資料

  return { userHome, shoppingCart, userUseShoppingCart }
}) // 一定要 return 把資料丟出去

}

vocus|新世代的創作平台



那我們要引入元件要怎麼引入呢?

我們要先 import 然後再 stores裡面的變數名稱

之後再做一個變數來接住再 stores 裡面的變數,這樣就可以了。

後面要做使用的話,像我因為這邊這個元件取名叫 counterstore 裡面的陣列 ref 的名稱叫userHome,所以我們要來取裡面的資料就使用counter.userHome[0].name 來取裡面的資料。

範例如下:

元件:HomeView.vue

vocus|新世代的創作平台

元件:CartView.vue

vocus|新世代的創作平台


留言
avatar-img
睿哲楊的沙龍
2會員
18內容數
睿哲楊的沙龍的其他內容
2026/02/09
先來了解Vue的生命週期的規律跟意思。 我們先來看Vue 的生命週期階段: setup() : 宣告 reactive / ref、注入 store,設定所有初始能量。→ 此時元件尚未渲染,但狀態樹已生成。 說白一點: 發生時機:元件「剛被建立」,但 DOM 還沒出現 適合做:初始化資料、
Thumbnail
2026/02/09
先來了解Vue的生命週期的規律跟意思。 我們先來看Vue 的生命週期階段: setup() : 宣告 reactive / ref、注入 store,設定所有初始能量。→ 此時元件尚未渲染,但狀態樹已生成。 說白一點: 發生時機:元件「剛被建立」,但 DOM 還沒出現 適合做:初始化資料、
Thumbnail
2026/02/09
那我們先來了解什麼是認識Vue裡的模板引用? 模板引用的意思是:允許我們在Vue的組件的模板中標記一個DOM元素或子組件,並在setup選項中去訪問它。 我們可以說白一點就是:我們在template 裡先幫某個 DOM 元素或子元件貼上一個「名字」,等畫面真的被渲染出來後,就可以在 <scrip
2026/02/09
那我們先來了解什麼是認識Vue裡的模板引用? 模板引用的意思是:允許我們在Vue的組件的模板中標記一個DOM元素或子組件,並在setup選項中去訪問它。 我們可以說白一點就是:我們在template 裡先幫某個 DOM 元素或子元件貼上一個「名字」,等畫面真的被渲染出來後,就可以在 <scrip
2026/02/05
在開始前我們先講解響應式函數,響應式函數就是 import { ref, watch } from 'vue' const count = ref(0) 1 2 3 4 宣告一個常數,可以讓我們後續使用。 為這個常數賦予名稱。 響應式函數並接收一個參數初始值
2026/02/05
在開始前我們先講解響應式函數,響應式函數就是 import { ref, watch } from 'vue' const count = ref(0) 1 2 3 4 宣告一個常數,可以讓我們後續使用。 為這個常數賦予名稱。 響應式函數並接收一個參數初始值
看更多
你可能也想看
Thumbnail
我在11/07專欄文章裡面揚言自己已經從上一段關係裡面走出來,最近的事實證明果然成長的曲線是鋸齒漸漸往上的形狀,到了某個臨界點之後還是有可能會掉回去的啊。與其說是走出來,不如說是心情比較平靜了,說對這段感情完全放下也不是,因為認真檢視自己,還是覺得自己沒有把復合與否看成是平等的狀態。 最近又受到了
Thumbnail
我在11/07專欄文章裡面揚言自己已經從上一段關係裡面走出來,最近的事實證明果然成長的曲線是鋸齒漸漸往上的形狀,到了某個臨界點之後還是有可能會掉回去的啊。與其說是走出來,不如說是心情比較平靜了,說對這段感情完全放下也不是,因為認真檢視自己,還是覺得自己沒有把復合與否看成是平等的狀態。 最近又受到了
Thumbnail
在台灣,不動產繼承是常見的法律問題,不僅涉及複雜的法律條款,還關乎家族和諧。無論富裕家庭還是一般家庭,處理不動產繼承的程序和稅務規範都是繼承人必須面對的挑戰。以下重點將帶您了解不動產繼承的基本程序、法定繼承順序以及特留分的概念,協助您順利完成繼承事宜。 一、什麼是不動產繼承? 不動產在法律上涵蓋
Thumbnail
在台灣,不動產繼承是常見的法律問題,不僅涉及複雜的法律條款,還關乎家族和諧。無論富裕家庭還是一般家庭,處理不動產繼承的程序和稅務規範都是繼承人必須面對的挑戰。以下重點將帶您了解不動產繼承的基本程序、法定繼承順序以及特留分的概念,協助您順利完成繼承事宜。 一、什麼是不動產繼承? 不動產在法律上涵蓋
Thumbnail
這天,台南的天空,很美。 春節假期,我們一家回到先生的故鄉台南。一進屋,先生說:「空氣就是乾爽!」他一句不經意的話,引發我一些省思。 先生在台北生活的這十幾年裡,適應良好,還頗融入,如今甚至比我熟悉某些台北的路段、景點、建築物和新聞。我這個台北人,經常要仰賴他領路,想起來有點好笑。
Thumbnail
這天,台南的天空,很美。 春節假期,我們一家回到先生的故鄉台南。一進屋,先生說:「空氣就是乾爽!」他一句不經意的話,引發我一些省思。 先生在台北生活的這十幾年裡,適應良好,還頗融入,如今甚至比我熟悉某些台北的路段、景點、建築物和新聞。我這個台北人,經常要仰賴他領路,想起來有點好笑。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
玫瑰斑(酒糟)跟青春痘一樣,發生的病程通常較長,也就是說,從開始發病到變嚴重,中間會有一段時間可以偵測與提前因應,這在臨床治療預後其實很重要,因為這就是說,只要能夠早點發現、早點正確治療,就有辦法阻斷病程,讓後續疾病不再惡化。
Thumbnail
玫瑰斑(酒糟)跟青春痘一樣,發生的病程通常較長,也就是說,從開始發病到變嚴重,中間會有一段時間可以偵測與提前因應,這在臨床治療預後其實很重要,因為這就是說,只要能夠早點發現、早點正確治療,就有辦法阻斷病程,讓後續疾病不再惡化。
Thumbnail
帶學生設計班規不僅可用於寫作訓練,加強議論能力,也可以運用在班級事務的管理上,讓學生自由提案,然後在班會一同討論、表決、擬定獎懲辦法,打造公民和法律素養。
Thumbnail
帶學生設計班規不僅可用於寫作訓練,加強議論能力,也可以運用在班級事務的管理上,讓學生自由提案,然後在班會一同討論、表決、擬定獎懲辦法,打造公民和法律素養。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
本文主要介紹以下的會計知識: 1.現金的角色與定義。 2.長短期現金需求。 3.現金的管理方式。 4.零用金制度。
Thumbnail
本文主要介紹以下的會計知識: 1.現金的角色與定義。 2.長短期現金需求。 3.現金的管理方式。 4.零用金制度。
Thumbnail
爬山和人生很相似,必須帶著一股無可救藥的衝勁與堅持,同時具備著隨時撤退的勇氣。 「我們不需要全然了解一個人,才能對他好,或者愛他。我們終究無法全然了解另一個人,說不定,連我們自己都不完全了解自己。我們會因為愈來愈不了解對方,而感到焦慮。此時請記得,要回過頭多愛自己。一個人身上散發出的自信,不待張揚
Thumbnail
爬山和人生很相似,必須帶著一股無可救藥的衝勁與堅持,同時具備著隨時撤退的勇氣。 「我們不需要全然了解一個人,才能對他好,或者愛他。我們終究無法全然了解另一個人,說不定,連我們自己都不完全了解自己。我們會因為愈來愈不了解對方,而感到焦慮。此時請記得,要回過頭多愛自己。一個人身上散發出的自信,不待張揚
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
哈囉,大家好!我們將探討 Nuxt 開發環境的建立與應用介面規劃,通過使用 Nuxt 的約定式結構和全域佈局,我們更高效地管理前端界面,並設計了首頁、交易紀錄、銀行帳戶等頁面。未來計畫包括整合後端 API、身份驗證及介面優化。
Thumbnail
哈囉,大家好!我們將探討 Nuxt 開發環境的建立與應用介面規劃,通過使用 Nuxt 的約定式結構和全域佈局,我們更高效地管理前端界面,並設計了首頁、交易紀錄、銀行帳戶等頁面。未來計畫包括整合後端 API、身份驗證及介面優化。
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News