---
title: "SimpleChanges"
date: "2026-04"
category: "Angular"
tags: ["Angular"]
description: "這是一個專門用來記錄子元件Input變化的類，一般是和ngOnChanges搭配，作為元素傳入方法內。裡面是巢狀的鍵值對，分別是屬性名：SimpleChange（注意少了個s），下面是結構..."
source: "https://enriquemark.com/zh-hant/posts/SimpleChanges"
---

這是一個專門用來記錄子元件`Input`變化的類，一般是和`ngOnChanges`搭配，作為元素傳入方法內。裡面是巢狀的鍵值對，分別是屬性名：SimpleChange（注意少了個s），下面是結構。

```typescript
// SimpleChange 的結構
{
  previousValue: any,   // 變動前的值
  currentValue: any,    // 變動後的值
  firstChange: boolean  // 是否是第一次變動（初始化）
}
```

方法內部可以直接呼叫`changes['指定props名']`，獲取該屬性是否變動——只有發生了變動的屬性才會具有SimpleChange，如果返回空，那就是沒變動。因此如果要對裡面的值進行提取，需要先判斷是否存在，以免空指標。
