---
title: "SimpleChanges"
date: "2026-04"
category: "Angular"
tags: ["Angular"]
description: "这是一个专门用来记录子组件Input变化的类，一般是和ngOnChanges搭配，作为元素传入方法内。里面是嵌套的键值对，分别是属性名：SimpleChange（注意少了个s），下面是结构..."
source: "https://enriquemark.com/zh-hans/posts/SimpleChanges"
---

这是一个专门用来记录子组件`Input`变化的类，一般是和`ngOnChanges`搭配，作为元素传入方法内。里面是嵌套的键值对，分别是属性名：SimpleChange（注意少了个s），下面是结构。

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

方法内部可以直接调用`changes['指定props名']`，获取该属性是否变动——只有发生了变动的属性才会具有SimpleChange，如果返回空，那就是没变动。因此如果要对里面的值进行提取，需要先判断是否存在，以免空指针。
