我在先前的篇幅當中,有提到生命週期與路由的關係。我們這一個篇章,就將路由與生命週期之間的事情,做一個全面性的剖析。如果你之前有稍稍稍稍微留意我的部落格,應該會看過我曾經碎念過
Router 與生命週期之間的事情。
> 重新檢視 lifecycle 與 vue-router
[https://blog.hinablue.me/vuejs-zhong-xin-jian-shi-lifecycle-yu-vue-router/]
關於 vue-router 外面的兩三事
[https://blog.hinablue.me/vuejs-guan-yu-vue-router-wai-mian-de-liang-san-shi/]
VueJS 快速入門 Day 1 [https://blog.hinablue.
聊完了基礎的路由功能後,我們接著來看看關於路由的進階應用方式。你放心,前陣子一直提到的動態元件載入,這邊一樣會出現,所以先給各位打個預防針。不過,如果你真的看膩了什麼動態載入的事情,那麼你想要跳過我也是欣然接受。
何況,進來就進來,出去就出去, 哪有人一直動態載入的啦。
--------------------------------------------------------------------------------
路由守衛方法( Guards Methods )
> Navigation Guards
[https://router.vuejs.org/guide/advanced/navigation-guards.html]
在 Router 當中提供了幾種所謂的路由守衛方法:
其實我覺得叫路由防衛比較好(聽起來超中二的)
* beforeEach
聊完狀態管理之後,我們來聊一下前端的路由。最近各大家前端工具都有支援前端路由的功能。而 Vue-Router
是官方推出的。功能上都大同小異,你也可以自己做一個(我最喜歡自己做輪子了)。
如果你做好了記得開源出來~
--------------------------------------------------------------------------------
前端路由
前端做這件事情應該是 Angular 起了一個頭,畢竟身為 Google 的親生兒子,所以很熱門。其實他並不是什麼很新穎的技術,主要是依靠 HTML5
History API [https://developer.mozilla.org/zh-TW/docs/Web/API/History_
在我們要聊元件溝通之前,我們先來聊一下關於 Vuex 這個套件。他是官方推出的狀態管理的工具,官方中文翻譯叫做倉庫(?),也是啦,如果把 store
直接翻譯的話,好像叫倉庫也是挺合理的。
但我覺得好像狀態管理會比較符合事實。
--------------------------------------------------------------------------------
Vuex
如果你是使用 Vue CLI 的話,那就是用 yarn 或 npm 裝一下就好,
yarn add vuex
# OR
npm i vuex
然後在你的 App 裡面,
大家一定會覺得這個標題很奇怪,不就都是 new Vue 嗎?是有什麼差別?對啊,其實都是 Vue 沒錯,但是就像是斯斯有兩種,Vue 也是有好多種不同面向。
是說現在斯斯好像不只兩種了。
--------------------------------------------------------------------------------
new Vue
通常,我們在實作一個 App 的時候,最終我們使用了 new Vue 來將整個 App 綁定在某一個 DOM
的元件上。如果,你綁定一次不夠,想要綁定兩次呢?也不是不可以,