學習 Angular 歷程
-
Run
ng serve
for a dev server. Navigate tohttp://localhost:4200/
. The app will automatically reload if you change any of the source files. -
Run
json-server -w db.json
for a db json db server. api server Navigate tohttp://localhost:3000/
.
- 增加
input
控制項,並使用 事件繫結 綁定事件- 使用者輸入事件
keyup
- 使用者輸入事件
- 使用
Rxjs fromEvent
- 當使用者輸入任何字元時候使用
Rxjs
的方式發送http get
請求 - 在取得
get
到的list 資料清單
後,透過 雙向繫結 的方式將資料呈現在畫面上 - 使用範本參考變數將子元件當作一個實體來呼叫使用
- static 解釋
- 無綁定結構型
directive
->true
- 有綁定結構型
directive
->false
並在AfterViewInit
取得DOM
- 無綁定結構型
- static 解釋
- 當使用者輸入任何字元時候使用
- 在
app.component.html
利用ngFor
在ul li
控制項上渲染list 資料清單
- 在
app.component.css
調整ul li
樣式 - 在
app.component.html
增加input
控制項上下鍵控制 事件繫結 - 在
app.component.ts
利用input
事件繫結的三個事件方法- 更新
activeIndex
變數來動態調整li
的ngclass
- 依據
li
的ngclass
變化,決定選取的資料會在那一筆位置上 - 當選取到最後一筆清單資料時,在按下鍵時,會自動跳到第一筆的選取位置
- 更新
- 在
app.component.html
將input
控制項的屬性inputValue
綁定ngModel
- 當使用者按下
enter
按鍵時,觸發事件更新inputValue
的值
- 當使用者按下
- 在
app.component.html
將input
控制項的屬性inputValue
綁定ngModel
- 當使用者滑鼠點擊 左鍵 時,觸發事件更新
inputValue
的值
- 當使用者滑鼠點擊 左鍵 時,觸發事件更新
- 移除
keyup
事件並改用Rxjs
方式做監聽,並調整觸發頻率的優化 - 新增
autocomplete
元件,將部分app.component.ts
的邏輯移植使其成為可重複使用元件
- 新增:當選取到第一筆清單資料時,在按上鍵時,會自動跳到最後一筆的選取位置
- 調整:改為在
OnInit
時期先取得資料,避免使用多層級的subscribe
- 讓程式碼閱讀性更好,就像是寫
js
時也避免callback
太多層
- 讓程式碼閱讀性更好,就像是寫