昨天在討論區上面有人問了一個問題,「Angular 要如何做到檢查使用是否有在活動,如果一定時間內都沒有任何動作時,要自動登出系統」,這一個需求最直覺的方式是定時去檢查最後一次使用者有動作的時間,但使用 setInterval 會讓 Angular 的效能變差,這時候要怎麼解呢?

閱讀全文 »

來談談 ControlContainer 的用法,根據 API 文件解釋

A base class for directives that contain multiple registered instances of NgControl. Only used by the forms module.

而內建繼承使用的 class 有

  • AbstractFormGroupDirective
  • NgModelGroup
  • FormGroupName
  • NgForm
  • FormGroupDirective
  • FormArrayName

我們又可以如何利用 ControlContainer

閱讀全文 »

Angular 在測試非同步的程式碼,有提供 fakeAsynctick 的方法,可以讓我們手動控制時間的快慢,進而做到程式碼的測試,可是,這個寫法遇到 RxJS 時間相關的 operators 就會出問題,那又該如何處理呢?

閱讀全文 »

PrimeNG 元件很豐富沒錯,但是他所提供的原件在寫 E2E 測試時卻是一個讓人無法忍受的痛苦,主要原因是他為了畫面的呈現,使用各種非正統的方式呈現畫面,而 Dropdown 元件就是一個很標準的案例

閱讀全文 »

其實 Angular Playground 出來已經有好一段時間了,但是之前的環境設定會讓人懶得用。現在可以簡單的透過 ng add angular-playground 的方式完成整體的環境設定,這麼方便不用就說不過去了。

閱讀全文 »

Angular 在建置輸出時,如果加上 --prod 時,會將所有的 bundle 做最小化還有 Tree-Shaking 的行為,將沒有使用的程式碼從 bundle 檔案中移除,但是,實際上輸出結果是否如官方所說,還有什麼細節是需要知道的嗎?

閱讀全文 »

在 RxJS 裡在建立 Observable 時,都會回傳一個 subscription 物件,而這一個物件允許我們手動取消 Observable 的動作,其實 Subscription 裡還有其他細節的。這一篇文章就來探討 Subscription。

閱讀全文 »