VueJS

[IT 鐵人賽] 動態載入 Components Day 21

我們又回到動態載入系列了,如果覺得我很煩的話可以先行離席沒關係。由於我昨天整理 Dockfile 的時候有點過於厭世,所以今天我這邊一樣會帶入一些昨天的結構,至於說 Dockfile 的話還沒好,如果想要先看結構的,可以先去我的 Github 上面看。 ITHome Ironman 2019 Hybrid App 混合模式的動態載入 其實我比較偷懶,上面的例子我直接掃全部的資料夾,然後將檔案加入樣版中。不過這個將來一定會 壞調 壞掉,所以小朋友不要亂學。 $jsFiles = ['main.js']; foreach (new \DirectoryIterator(ROOT

  • Hina Chen
    Hina Chen
6 min read
2019

[IT 鐵人賽] 薛丁格的生命週期 Day 12

是的,這個篇幅會用來聊一下生命週期當中,比較奇怪的事情。薛丁格 我就不解釋了,程式執行其實並沒有像是量子力學的那種疊加狀態,只是,當 Vue 的元件趨於複雜,再搭配上 Vue Router 的時候,你的某些生命週期中的勾子,就會有你所不知道的狀態。 最終狀態 有些時候你可能會遇到一個情況,當我們使用 console.log() 去印出某個物件的時候,你會發現他是有東西的。然後你如果印了某個物件的屬性,例如說 HelloKitty.foo 結果是 undefined。 不要問我為什麼,這是 JavaScript 的

  • Hina Chen
    Hina Chen
8 min read
VueJS

[IT 鐵人賽] Router 與生命週期 Day 11

我在先前的篇幅當中,有提到生命週期與路由的關係。我們這一個篇章,就將路由與生命週期之間的事情,做一個全面性的剖析。如果你之前有稍稍稍稍微留意我的部落格,應該會看過我曾經碎念過 Router 與生命週期之間的事情。 重新檢視 lifecycle 與 vue-router 關於 vue-router 外面的兩三事 VueJS 快速入門 Day 1 所以我就不跪求心理陰影面積了。 生命週期與 Hooks(勾子) 我們除了 Vue 原本就有的方法之外,如果另外再加上 Router 所提供的,那麼大家的順序上就很容易搞混,我們先條列一下到底會有哪些方法: beforeCreate

  • Hina Chen
    Hina Chen
10 min read
2019

[IT 鐵人賽] Router 進階應用 Day 10

聊完了基礎的路由功能後,我們接著來看看關於路由的進階應用方式。你放心,前陣子一直提到的動態元件載入,這邊一樣會出現,所以先給各位打個預防針。不過,如果你真的看膩了什麼動態載入的事情,那麼你想要跳過我也是欣然接受。 何況,進來就進來,出去就出去, 哪有人一直動態載入的啦。 路由守衛方法( Guards Methods ) Navigation Guards 在 Router 當中提供了幾種所謂的路由守衛方法: 其實我覺得叫路由防衛比較好(聽起來超中二的) beforeEach 每個路由要被執行之前,都會先經過這裡,他會傳入三個參數: to 你要去的路由位置。 from 你從哪一個路由位置進來,如果沒有,預設是

  • Hina Chen
    Hina Chen
8 min read
VueJS

[IT 鐵人賽] Router 基本入門 Day 9

聊完狀態管理之後,我們來聊一下前端的路由。最近各大家前端工具都有支援前端路由的功能。而 Vue-Router 是官方推出的。功能上都大同小異,你也可以自己做一個(我最喜歡自己做輪子了)。 如果你做好了記得開源出來~ 前端路由 前端做這件事情應該是 Angular 起了一個頭,畢竟身為 Google 的親生兒子,所以很熱門。其實他並不是什麼很新穎的技術,主要是依靠 HTML5 History API 來做操作。在不支援 History API 的瀏覽器當中,大多都是使用 URL hash 的方式來達成。 例如說:

  • Hina Chen
    Hina Chen
11 min read
JavaScript

[VueJS] 重新檢視 lifecycle 與 vue-router

由於遇到了一些 Google reCAPTCHA 的狀況,所以剛好找時間來重新檢視一下 Vue 元件的生命週期這件事。其實也不是 Vue 本身的問題,但是很奇妙的是,我真的就是遇到這種狀況。 剛好複習一下也好。 Lifecycle 首先還是先複習一下官方這張說明圖片, https://vuejs.org/v2/guide/instance.html#Lifecycle-Diagram 接著回想一下我上次寫過,關於 Vue-Router 外面的那些事情。 然後我們來玩一下排列組合,在這邊只關注 剛進去 元件或是路由的情況, beforeRouteEnter beforeCreate

  • Hina Chen
    Hina Chen
4 min read
VueJS

[VueJS] 關於 vue-router 外面的兩三事

最近因為某些需求,所以需要把一些動作放在 Vue 外面,但是由於 Vue 整個生命週期的關係,所以有些事情沒辦法在元件當中操作。所以就把歪腦筋動到 vue-router 身上,後來發現,很多動作還是會有些意外發生。 我們就來聊一下那些看似合理的 意外! 引言 以下皆是在 Vue 2.3/Vue-router 2.5 含以上版本測試,如果你不是該版本或以上,請斟酌服用。 Lifecycle 與 Vue-router 2.5 一開始還是要請出官方的圖來打一點預防針, https:

  • Hina Chen
    Hina Chen
5 min read