iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 6
0
Modern Web

Angular初期筆記系列 第 6

DAY6-Angular6之假如app是舞台劇/@Component項目

前情提要

DAY5-Angular6之app資料夾下的檔案內容說明

啟動順序
index.html

app.module.ts

app.component.ts

app.component.html

假如用一場舞台劇比喻

  • index.html: 演戲的舞台
  • app-routing.module.ts: 每一幕的劇本 (對應到哪個網址名稱,就換幕或演哪一齣戲)
  • app.module.ts: 每一幕有哪些戲或是否有其他幕來支援的表單
  • app.component.ts: 一齣戲裡面每個人物的台詞和動作、道具被觸發的變色動作...
  • app.component.html: 一齣戲裡面的布景、機關、人物的服裝...

現在上面這些 app 為首的檔案,沒有意外就是 根元件,也就是第一齣戲的開始

[1]@Component 所擁有的項目

項目 描述
changeDetection 給這個 component 使用的 change-detection strategy (中文:變化檢測策略)
viewProviders 定義一組 injectable objects 可以顯示到 子 view DOM
moduleId 這個 module ID 必須要在 module 和 component 內;這個 component 必須要能夠解析 templates 和 styles 的相對網址;SystemJS 要有 (底線)moduleName 的變數在每個 module ,在 CommonJS 才可以設定 module.id
template 使用內部 html
templateUrl 使用外部 html 檔案
styles 使用內部 css
styleUrls 使用外部 css 檔案
animations (中文:動畫) 一個或多個 animation tigger() 呼叫,包含 state() 和 transition() 定義
encapsulation (中文:封裝) 一種封裝策略針對 template 和 css styles
interpolation (中文:插入) 複寫初始封裝開始和結束分隔符號({{ and }})
entryComponents (中文:進入的元件) 一組 components 應該和 這個 component 一起編譯,讓其他 component 加入編譯清單,angular 會新增並儲存一個 ComponentFactory 在 ComponentFactoryResolver
preserveWhitespaces (中文:保留空白) true 就保留,false 就移除編譯 template 上多餘的空白,空白指符合 \s 的字符類別在 JS正規式中,預設是 false ,除非在編譯器選項複寫掉

繼承 Directive(指令) 的 decorator(裝飾器)

項目 描述
selector CSS選擇器 識別 directive 在 template 並 觸發 directive 實體化
inputs 列舉一組 data-bound 的 input 屬性 傳給 directiv
outputs 一組 event-bound 的 output 屬性,當 output 屬性送出一個事件,該事件會調用 附加在 template 上的 事件
providers (中文:供應商) 在 directive 或 component 擁有 token 並對應到相依位置的供應商,去 部置 injector
exportAs 在 template 中,將名稱或名稱群組 分配 directive 給 一個 變數,若是名稱群組可以使用 逗點去分隔
queries 部屬 queries(查詢值) 用於注射到 directive
jit 假如是 true,這個 directive 或 component 會略過 AOT編譯,並使用JIT編譯
host 使用 key-value格式,映射 class properties 去管理 綁定 properties, attributes, and events 的 元素(element)

參考來源

[1]
@component 的項目

再度跪求 表格換行方法~~


上一篇
DAY5-Angular6之app資料夾下的檔案內容說明
下一篇
DAY7-Angular6之「IT狗的生活」開演/@NgModule項目
系列文
Angular初期筆記30

尚未有邦友留言

立即登入留言