上次參加好像是 2014 年,然後我寫到第二篇就超過時間,索性直接放棄(欸)。不過,由於 Famo.us
也莫名的退流行(等等,好像根本沒流行過)。所以就算是一個,只有我一個人自己玩得很高興的東西,說著說著著實感傷了起來。
這次想說,趁著稍微有一點時間,可以寫一下這些日子接觸 VueJS,到現在的一些心路歷程。像是那個說好的 ReactJS
好像就一直被我遺忘了(啊哈哈哈哈哈)。然後 Ng2,欸,現在好像是 Ng8 了吧?就當作我從來沒寫過 Angular
瀏覽器擴充功能其實算是老掉牙的東西了,不過拿 Vue 來開發算是挺方便的一件事情。當然,在這裡你可以把 Vue 換成其他的熱門工具,不過我剛好會寫一點 Vue
所以就拿這個來開發一點小玩具,也是挺合理的。
前置作業
首先呢,你可能會需要一個 Vue 的工具方便作業,在 github 上面,已經有人提供了完整的 Vue Template 可以使用,所以,最快的方式就是用
Vue CLI 的方式去安裝,
vue init kocal/vue-web-extension
在很久很久以前,我夢到了一個朋友那邊來的請求,是想幫忙調整一個外包使用 Vue 開發的前端頁面。然後我收到朋友給的 Gitlab 之後,在我 Clone 下來,並且嘗試用 Chrome 跑跑看的時候,我看到了一個叫做 iframe...
上一回有提到動態載入的事情,既然提到了動態的元件載入,就不得不提一下 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]。
import myComponent from 'components/myComponent.vue'
export default {
components: {
myComponent: myComponent
},
data