前言

Data Binding 是 Angular 的核心功能之一, 可以幫助我們將應用程式的資料和 DOM 建立關聯, 實現動態資料更新 DOM 的效果.

Data Binding 用途

Angular Data Binding 主要有四種形式:

  • 插值綁定 (Interpolation)
  • 屬性綁定 (Property Binding)
  • 事件綁定 (Event Binding)
  • 雙向綁定 (Two-way Binding)

Data Binding 優點

  • 更加輕鬆地將 Component 與 Template 建立關聯
  • 提高開發效率和可維護性
  • Angular 變更偵測機制可以實現高效的資料更新, 避免不必要的 DOM 操作

Interpolation

使用 {{ }} 語法將資料綁定到 Template, 通常用於將資料顯示在標題、段落或表格等元素中.

<h1>{{ title }}</h1>
<p>{{ content }}</p>

Property Binding

使用 [ ] 語法將資料綁定到元素的 屬性 上,

通常用於修改元素的屬性值,

例如修改按鈕的文字 & 圖片的 URL 等…

<!-- 控制按鈕可不可以按的屬性 -->
<button [disabled]="isDisabled">{{ buttonLabel }}</button>
<!-- 綁定圖片 URL 屬性 -->
<img [src]="imageUrl" alt="Angular Logo" />

Event Binding

使用 ( ) 語法將元素的 事件 綁定到組件中的 方法 上,

通常用於 觸發特定的行為,

例如點擊按鈕時執行某個方法

<button (click)="onClick()">Click me!</button>

Two-way Binding

使用 [( )] 語法將元素的屬性事件綁定到組件中的資料上, 實現資料的雙向同步.

<!-- [(ngModel)] 是 Angular 中用來實現雙向資料綁定的指令-->
<input [(ngModel)]="username" />

在 Component 中:

export class AppComponent {
  username: string = "John";
}

當使用者在輸入框中輸入內容時, username 的值會自動更新. 反之, 當 username 的值在程式碼中改變時, 輸入框的內容也會自動更新.

總結

Angular Data Binding 提供了四種不同的綁定方式, 讓我們可以輕鬆地在 Component 和 Template 之間傳遞資料:

  • **Interpolation (插值綁定) **: {{ }}, 用於顯示資料
  • **Property Binding (屬性綁定) **: [ ], 用於設定元素屬性
  • **Event Binding (事件綁定) **: ( ), 用於處理使用者事件
  • **Two-way Binding (雙向綁定) **: [( )], 用於資料的雙向同步

掌握這些綁定方式, 可以讓你在開發 Angular 應用時更加得心應手.

參考資料