---
title: "SimpleChanges"
date: "2026-04"
category: "Angular"
tags: ["Angular"]
description: "This is a class made for recording Input changes in a child component, usually paired with ngOnChanges and passed into the method as an argument..."
source: "https://enriquemark.com/en/posts/SimpleChanges"
---

This is a class made for recording `Input` changes in a child component, usually paired with `ngOnChanges` and passed into the method as an argument. Inside it are nested key-value pairs, property name to SimpleChange (note the missing s). The structure is below.

```typescript
// the structure of SimpleChange
{
  previousValue: any,   // the value before the change
  currentValue: any,    // the value after the change
  firstChange: boolean  // whether this is the first change (initialization)
}
```

Inside the method you can call `changes['propName']` directly to get whether that property changed. Only a property that actually changed has a SimpleChange, and if it comes back empty, that means it didn't change. So if you want to pull the value out of it, check that it exists first, to avoid a null pointer.

---

**Translation note.** I wrote this in Chinese. This English version is an LLM translation, so the wording is not mine even though the thinking is. Original: [SimpleChanges](</zh-hant/posts/SimpleChanges>).
