Skip to content

Angular 基礎

簡介 Angular

Angular 是一個流行的前端開發框架(Front-end Framework),由 Google 維護,用於建立動態的單頁應用(SPA - Single Page Applications)。它提供了一套完整的解決方案,包括工具和設計模式,來幫助開發者構建大型應用。

安裝 Node.js 和 npm

Angular 需要 Node.js 環境和 npm(Node Package Manager)來管理依賴包。首先,從 Node.js 官網 下載並安裝 Node.js,這通常會自動安裝 npm。

安裝後,可以在終端機(Terminal)中檢查版本:

node --version
npm --version

建立 Angular 專案

Angular CLI(Command Line Interface)是一個命令行工具,用於快速建立和管理 Angular 應用。

首先,全局安裝 Angular CLI:

npm install -g @angular/cli

然後,建立一個新的 Angular 應用:

ng new my-first-app
cd my-first-app

運行應用:

ng serve
這會啟動一個開發服務器,通常可以通過 http://localhost:4200/ 訪問應用。

理解 Angular 的主要組件

  • 模組(Modules):Angular 模組是一個帶有 @NgModule 裝飾器的類,它用來封裝元件、服務等,並定義應用的結構。
  • 元件(Components):元件是 Angular 應用的基本構建塊,用 @Component 裝飾器標記。每個元件都有一個 HTML 模板和一個 TypeScript 類,用於定義行為和數據。
  • 服務(Services):服務是一個獨立的類,用於封裝業務邏輯,可以在多個元件之間共享。

建立簡單的 Angular 應用並運行

假設您已經使用 Angular CLI 建立了一個新應用,您可以修改 app.component.tsapp.component.html 來建立一個簡單的應用。

創建和使用元件

使用 Angular CLI 創建一個新元件:

ng generate component my-component
這將會在 src/app 路徑下創建一個新的元件目錄。

資料綁定的類型

  • 插值(Interpolation):用於在 HTML 模板中顯示 TypeScript 類的屬性。例如:{{ title }}
  • 屬性綁定(Property Binding):用於將元件類的屬性綁定到 HTML 元素的屬性。例如:[value]="myValue"
  • 事件綁定(Event Binding):用於響應 HTML 元素上的事件。例如:(click)="myFunction()"

使用 ngModel 實現雙向綁定

app.module.ts 中引入 FormsModule,然後在模板中使用 ngModel 實現雙向綁定。例如

,在 my-component.component.html 中:

<input [(ngModel)]="name">
這會將輸入欄位的值與元件類的 name 屬性雙向綁定。

元件間的資料傳遞

  • @Input():用於從父元件向子元件傳遞數據。
  • @Output():用於從子元件向父元件發送事件。

例如,子元件可能有一個 @Input() childProperty 和一個 @Output() childEvent。父元件可以將數據綁定到 childProperty 並響應 childEvent