上一回有提到動態載入的事情,既然提到了動態的元件載入,就不得不提一下 functional component 這個東西。
是說,也沒有太多神奇的地方,只是借用了 React 的東西拿來班門弄斧一下而已。
--------------------------------------------------------------------------------
Functional Component
官方文件 [https://vuejs.org/v2/guide/render-function.html#Functional-Components]
有提到詳細的功能,有興趣的人可以先去看看。基本上他就是一個無狀態、不屬於任何生命週期的一種元件。
用這種元件的好處是什麼?
1. 預先載入其他的元件
2. 預先處理邏輯
官方的範例當中,
因為有一些需求的緣故,所以需要做到動態載入元件。想當然爾,事情不是想像中的那麼簡單。雖然說 VueJS 已經很方便了,不過做起來還是有一些地方需要留意
--------------------------------------------------------------------------------
動態元件
VueJS 有一個 :is 可以用,詳細的使用辦法可以參考官方說明 [https://vuejs.org/v2/api/#is]。
<component :is="myComponent"></component>
import myComponent
最近因為某些需求,所以需要把一些動作放在 Vue 外面,但是由於 Vue 整個生命週期的關係,所以有些事情沒辦法在元件當中操作。所以就把歪腦筋動到
vue-router 身上,後來發現,很多動作還是會有些意外發生。
我們就來聊一下那些看似合理的 意外!
--------------------------------------------------------------------------------
引言
以下皆是在 Vue 2.3/Vue-router 2.5 含以上版本測試,如果你不是該版本或以上,請斟酌服用。
Lifecycle 與 Vue-router 2.5
一開始還是要請出官方的圖來打一點預防針,
現行的服務裡,有 prerender.io [https://github.com/prerender/prerender] 可以使用,不過由於他是使用
PhantomJS 來當作背後的引擎,而,偏偏我自己開機器來做的時候,常常遇到一個畫面要處理超過 1 分鐘的窘境。
所以,只好拿 Google Chrome 新推出的 --headless 來試一下水溫。
--------------------------------------------------------------------------------
安裝
目前是使用 Ubuntu 16.04LTS 來進行安裝,在伺服器上裝
不是那個五十道陰影,是說我也還沒看過。只是說,人在江湖跑,哪有不挨刀,總是要挨個幾刀才能算是大哥嘛(是嗎?
所以身為一個專業的菜蟲農夫,偶爾被鋤頭打到腳指頭也是很合理的(欸不對!
--------------------------------------------------------------------------------
最近很流行作弊的表,剛好 vuex 也有一份,如果你沒看過,現在讓你看看(當然不是我整理的,網路上神人很多。
> https://vuejs-tips.github.io/vuex-cheatsheet/
這表沒什麼大毛病,不過這樣的東西其實還是需要對 vuex 有相對程度的瞭解,看起來才會有些用處,不然對於初學者來說,她就只是一個整理得很漂亮的表單而已。
簡介