學習 Angular 歷程
-
Run
ng servefor 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.jsonfor 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太多層
- 讓程式碼閱讀性更好,就像是寫