跳到主要內容
m.Mandy's Web

分類:Angular

2022

2021

Angular Providers

一直以來對 Angular Providers 這部份都還是有存在著半知半解的狀態,就趁著這次機會一次搞懂它吧! Providers 提供了四種注入方式 Class Provider : useClass Value Provider: useValue Fa

如何在 Angular 獲取 URL 資訊

在實作裡,很多時後我們會將一些必要資訊記錄在網址上,直接在網址裡就能得到我們要的訊息 不用再透過組件將資訊層層傳遞,達到解耦合的效果。 註:一切一切 都只是我用來舉例,不代表為鐵人賽網址真正的實際規劃哦! 例如:我的鐵人賽主題網址為 https://ithel

如何在 Angular 建立 Breadcrumb (麵包屑)

麵包屑 為提供網站裡的導航,讓使用者容易了解當下所在的位置 剛好也呼應前一天使用 router 的部份 現在位置:首頁 / 列表 / 內容 Angular 裡的 router 架構 通常會命名為 app-routing.module.ts 這裡會需要帶點 rx

Angular 路由守衛(登入篇)

經過了昨天的介紹,今天就來看看使用登入範例囉 今天的登入資料依然是使用 FakeStoreAPI 這裡就做個簡單的驗証,沒填值就不能按按鈕 若是有成功得到 token 就裝這狀態記錄在 setToken$ 裡 在 canEnter 訂閱剛剛的 setToken

Angular 路由守衛

我們在開發的過程中,經常會遇到需要某些權限才能進入的頁面,這時後就會需要路由守衛的機制啦, 而它最常用在登入畫面時 Angular CLI 提供了命令列工具,可以快速建立路由守衛框架檔案: 或 官網介紹:guard 執行後,Angular CLI 會問我們需要

Angular 筆記 css 樣式篇

今天就只是個筆記,單純記錄寫法如何使用,以便自己日後查找,畢竟人非聖賢、會忘難免 XD 套用 className 變數為 isDark,value 必需為 boolean 在 html 的 dom 裡設定 https://angular.tw/api/comm

Angular 客製彈出視窗

因為我的這個 blog 需要一個彈出視窗做提示,而套件裡的樣式我都不喜歡,所以今天就來客製化一個吧! 這次的彈出視窗會使用 Angular Material 裡的 cdk 來做開發 安裝 cdk 注意: 若發現 @angular/cdk 裡的某些功能不能掛載,

Angular ViewChild 與 ViewChildren 介紹

ViewChild 這個屬性在 Angular 是屬於很常用的一部份 今天就來了解一下 ViewChild 與 ViewChildren 的差別與使用方式吧! HelloComponent 子組件 屬性裝飾器,用於配置一個檢視查詢。 變更檢測器會在檢視的 DO

Angular 淺拷貝之日記文

又踩雷啦啊哈哈哈哈哈。 來重現一下遇到的情境吧 一開始建了一個 fruit 的物件,裡面有 apple 與 banana 這兩樣空物件 在 OnInit 時,賦予了 apple 與 banana 值 當我按下 button Click 的 時後, apple

使用 Angular 做檔案編碼檢測 (detect-encoding)

前一陣子,後端有個需求是在檔案上傳前,需要提前知道上傳的檔案編碼 是 UTF-8 或是 ascii 等,才能決定要不要將檔案放進資料庫,或是在這之前再做一次轉檔。 今天的內容跟 Angular 比較沒有關係,屬於套件分享,但因也是使用 Angular 實作,所

Angular 轉換 API 資料格式 (Adapter)

今天的內容屬於設計模式的一種。 當我們從後端接到資料後,有時後資料格式往往不是如我們所想,所以會再加工做個轉換的動作。 所以就要使用 TypeScript 來做個轉接器,轉成我們所需的資料! 就拿前幾天的文章 Angular 如何取得 API 資料 繼續做介紹

Angular ng-template 與 ngTemplateOutlet

ngTemplateOutlet 這裡我解釋為 ng-template 裡的插槽 來看看實際上會是如何使用 先來段程式碼,這裡為一筆物件資料 HTML ngTemplateOutlet 這個插槽的名字 我們取做 jsonData 在 ng-template 的

Angular ng-container 與 ng-template

接續昨天的範例。 今天要聊的是 ng-container 與 ng-template 上面程式碼所要表達的是,若是資料大於 0 筆,頁面上就會呈現列表,沒有資料的時後在畫面上顯示 No Data ng-container 在 Angular 的 templat

Angular ngIf 與 Async Pipe

當我們在 template 訂閱一組資料,而需要對它做一些邏輯處理的時後。 .ts .html 若像上述這樣的寫法,會造成重覆訂閱而增加 server 的負擔,所以在實作上,通常會避免這情況發生 將 html 寫法稍做修改 將 products$ async

Angular 如何取得 API 資料

既然昨天已經說了 http post 這件事,那今天就來說說 http get 這部份吧! 今天的資料依然使用 FakeStoreAPI 樣式套用 Angular Material 從 api 取得列表後,把資料渲染到 html 上 app.module.ts

Angular 下拉選單如何選定預設值

當表單送出後,資料庫會記錄送出後的值,下次再進來時,會需要重現上一次所填寫過的內容,這在實作上是很常遇到的事情。 原以為這是件很簡單的事,讀取資料後,直接把值填上後即可(我想得太簡單了), 當實作時,卻怎麼樣也選不了預設值,後來發現在需要在 select 裡

Angular 冒泡事件

今天就來個說個在新手時期很常遇到,但卻不知為什麼會發生的問題 來看一下我們前幾天的表單範例,與圖上 console 的部份 在操控表單的時後,發現在點選新增欄位時,連submit 也一起被觸發了! 這是怎麼一回事呢!!!,明明就沒有按送出呀! 原來是 Java

Angular Reactive Forms 自訂表單驗証器

有表單 當然少不了驗証,這次的情境是 名字是必填欄位。 手機不一定會是必填,但填了後必須符合手機的格式,09 開頭 共 10 碼 來囉!! 在這個 form 表單的下方 新增一個驗証方式,動態驗証就寫在 validator 這裡面 .ts 若是號碼填寫錯誤,把

Angular 圖片上傳之日記文

本來預定今天要發佈的文章延後了,今天要要來分享這一兩天的踩雷心路歷,花了一半天時間,連鐵人都沒時間寫,還好有一些些存檔 ! 這次公司專案需要做到圖片上傳這部份的處理,因這次的套件對於手動上傳沒有支援太多,所以需要自己處理這部份,接著就是一連串的踩雷過程...

Angular Reactive Form 表單

表單在實作上是件常見的的處理,為什麼會寫這篇呢?實在是因為我太容易忘了 XD 還記得一開始接觸到表單操控時, Angular reactive form 的官方文件它雖然寫的很清楚,但對於當時剛趟入 Angular 領域的我 還是看的一頭霧水,尤其是在 for

2020

Angular viewchild undefined with ngIf

當 angular 裡的 範本變數裡使用到 ngIf,在執行範本變數的時後會報錯,出現 undefined,無法操控 程式碼如下 html component 使用 ngIf 時,一開始執行 ngOnInit,這個 dom 是不存在的,所以去操控這個 dom

Angular HttpParams

這篇記錄著關於如何使用 Angular HttpParams 且 HttpParams 接收的參數值必定要轉為字串才可以 在 service.ts 引入 以上是基本的傳參數方式,然而 Angular 提供了一些方法讓我們使用 若參數已存在 則後面會取代前面 或

Angular Router 筆記

在 app.module.ts 引入 RouterModule ps.注意:路徑不包含斜線 Route Guards 路由守衛 預設導址 網址 http://localhost:4200/list/網址變數 routing.module ts 設定網址連結 (

Angular Router Change 踩雷日記

最近在專案上出現了一個,點導址按鈕導頁後,出現 api 重覆打的情形 而且還是在特定會在 side bar 點了才會出現這 bug 奇怪了,之前做的都沒遇過這問題呀,寫的方式也都是一樣 花了好多間找問題點 怎麼找都找不到 找過 router, reslover

Angular Pipe (管道)

在 Angular 裡用來做一個簡單的數據轉換 這次做的是數值對應 ASCII Table 對照表 在 terminal 裡鍵入 建立一個新的 pipe pipe.ts 在 module.ts 引入 html ts

2019

Angular 動態載入組件

情境:tab 切換 app.module.ts component.html component.ts 新增預載入的component 另一種做法可以使用 if else 來做

Angular 組件傳值

一張圖說明 input 與 output 值的互相傳遞 透過 setter 截聽輸入屬性值的變化 把需要傳遞的 data 存到 service 裡然後再到 service 裡存取需要用的值 分別建立一個 list 跟 detail 的 compontent l

Angular 繫結方式

Angular 共有四種資料繫結的方法 [property]='statement' (event)='someMethod($event)' [(ngModel)]='property' component.ts component.html app.mod

分類