2018 Angular Taiwan 論壇筆記

Angular Taiwan

Angular Taiwan 論壇今天展開,這次的議程筆者比較在意的有三個部分,這三個部分都有個共通點,那就是如何當個懶惰的工程師,所以我們今天就來談談如何透過 Angular 來做一個懶惰的工程師吧。

Angular Material – Will保哥

這個函式庫對於像筆者這種程式開發為主外加美術很弱的人來說是一大福音,透過 mat-xxx 的關鍵字就可以簡單實作一個 Form、Navigation 之類的功能,相關元件可以看 Angular Material官網 ,在這部分保哥分享的是一些新功能如下列所示:

Virtual Scroll

簡單幾個關鍵字完成實作捲動動態載人功能。詳細內容可以看Virtual Scrolling範例

Drag&Drop

簡單幾個關鍵字完成實作拖移功能。詳細內容可以看Drag&Drop範例

select

除了 mat-select 之外,現在也支援原生下拉選單 select 。詳細內容可以看 Select範例

Angular Elements – Will保哥

這個功能也很直得推薦,因為開發到後面會不斷重複的使用某些 Components ,所以透過這函式庫可以把那些常用的 Components 獨立出來透過像 Library 一樣提供給其他 App 使用,所以說其功能簡單講就是將 Angular 元件封裝成自訂元素,甚至於可以把 AngularJs 封裝後放到 Angular ,相關內容可以先看一下 Angular Elements

slot

這部分說明透過 Angualr Elements 可以將元件的內容綁定到宣告 slot 的元件上面,簡單說明 slot 就是提供一個插槽由其他自訂元素內的內容差到宣告 slot 的元件身上。詳細內容可以參考 Slot Example

優點

可以將 Angular 就不在只是可以在 Angular 的專案用,而且可以放到 vue、react 使用,或者是將 AngularJs 封裝放到 Angular 內。

缺點

目前尚未完善,有些瀏覽器 (EDGE) 尚未支援,還有目前打包 Bundle 有點大。

Schematics – Kevin Yang

Schematics 是什麼東西呢,如何透過它來當個懶惰工程師呢,筆者舉個例子好了,上面講的 Angular Elements 是可以透過它建立好自訂元件提供給其他專案使用,對於 Schematics 來說它就是程式碼的 Angular Elements ,可以透過 Schematics 來幫助我們產生程式碼範本。

如何使用

這功能大家可能不太會寫,但是大家可能常常在用卻不知道,其實 Angular CLI 的 ng addng update 就是 Schematics 的使用的例子。

如何開發

這不外乎就是程式碼的 CRUD 了,他有三個重點元件,參考至 Kevin Yang 關於 Schematics的說明文件

  • Tree: 是檔案系統的結構描述,包含檔案的狀態與改變檔案的規則 (Rule)
  • Source: 是一個建立空的新 Tree,常見的方法有 Url(path)
  • Rule: 是描述要如何改變 Tree,所以 Rule 會回傳一個包含改變規則的 Tree

如何增進schematics的技能

剛剛有說過 Angular CLI 的 ng addng update 就是 Schematics 的使用的例子,所以從哪裡學最快,那就是 Angular CLI 的 Github
angular-cli/packages/schematics/,帶之後筆者實際操作後再分享給大家如何操作了。

Angular CDK – Mike Huang

首先先說明與 Angualr Material 的差別是 Angular CDK 著重在於實現互動的功能,而 Angualr Material 著重在於樣式的顯示。這部分講者說明如何使用 Angualr CDK 實作一個 Dialog

實作一個Dialog

使用 Overlay 上面放一個 Dialog 的 Component 即可,而其主要得步驟可分成以下個部分,詳細內容可以看 Overlay說明

  1. Create
  2. Config
  3. Attach->ComponetnPortal->動態產生Component要放到AppModule的entryComponent內
  4. Detach->PortalInject->OverlayRef.detach

搭配Drag&Drop

這裡裡要說明關於 Drag&Drop的Dialog 關鍵的幾個字

  1. cdkDrag: Drap&Drop的關鍵字
  2. cdkDragRootElement->要一起移動OverlayRef
  3. cdkDragHandle->透過這元件可以設定只有在點擊到這部分才可以拖拉。

結語

在論壇最後讓筆者覺得收穫良多的一點是保哥所分享的如何增進 Angular 能力的方法,那就是透過套件的原始碼來學習 Angular ,沒想到學 Angular 不需要花大錢花時間去學習,透過身邊的套件如 Angular Material、Angular CLI、ng-zorro 就可以學到如何撰寫 Angular 。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *