---
title: "Level 4: A click updates the page · Lifecycle Line-up · vuejs.school"
description: "count changes. A watcher, the update hooks and a nextTick callback all react. One card never fires again."
canonical_url: "https://vuejs.school/games/lifecycle/4"
meta:
  "og:description": "count changes. A watcher, the update hooks and a nextTick callback all react. One card never fires again."
  "og:image": "https://vuejs.school/_og/d/a_~QSBjbGljayB1cGRhdGVzIHRoZSBwYWdlIMK3IHZ1ZWpzLnNjaG9vbA%2Cc_OgCard.takumi%2Ctitle_A%2Bclick%2Bupdates%2Bthe%2Bpage%2Cdescription_~Y291bnQgY2hhbmdlcy4gQSB3YXRjaGVyLCB0aGUgdXBkYXRlIGhvb2tzIGFuZCBhIG5leHRUaWNrIGNhbGxiYWNrIGFsbCByZWFjdC4gT25lIGNhcmQgbmV2ZXIgZmlyZXMgYWdhaW4u%2Ceyebrow_~TGlmZWN5Y2xlIExpbmUtdXAgwrcgTGV2ZWwgNCBvZiA3%2Ctint_lilac%2Cp_Ii9nYW1lcy9saWZlY3ljbGUvNCI%2Cs_Fl9Gkd9cEosG3Koc.png"
  "og:image:alt": "A click updates the page · vuejs.school"
  "og:image:height": "600"
  "og:image:type": image/png
  "og:image:width": "1200"
  "og:title": "Level 4: A click updates the page · Lifecycle Line-up · vuejs.school"
  "twitter:image": "https://vuejs.school/_og/d/a_~QSBjbGljayB1cGRhdGVzIHRoZSBwYWdlIMK3IHZ1ZWpzLnNjaG9vbA%2Cc_OgCard.takumi%2Ctitle_A%2Bclick%2Bupdates%2Bthe%2Bpage%2Cdescription_~Y291bnQgY2hhbmdlcy4gQSB3YXRjaGVyLCB0aGUgdXBkYXRlIGhvb2tzIGFuZCBhIG5leHRUaWNrIGNhbGxiYWNrIGFsbCByZWFjdC4gT25lIGNhcmQgbmV2ZXIgZmlyZXMgYWdhaW4u%2Ceyebrow_~TGlmZWN5Y2xlIExpbmUtdXAgwrcgTGV2ZWwgNCBvZiA3%2Ctint_lilac%2Cp_Ii9nYW1lcy9saWZlY3ljbGUvNCI%2Cs_Fl9Gkd9cEosG3Koc.png"
  "twitter:image:alt": "A click updates the page · vuejs.school"
---

> Index of every page on this site: [llms.txt](https://vuejs.school/llms.txt)

**Level 4 of 7 · watch, onBeforeUpdate, onUpdated and nextTick**

# **A click updates the page**

count changes. A watcher, the update hooks and a nextTick callback all react. One card never fires again.

**What happens**App is on the page showing count. The learner clicks +1.

**App.vue **

```
const count = ref(0)
watch(count, () => log('watch'))
function add() {
  count.value++
  nextTick(() => log('next tick'))
}
```

**Deck · tap a card to add it, or drag it into place**

-
-
-
-
-

**Timeline · first to last**

1. **1** Next card

**Game finished**

## **You finished Lifecycle Line-up**

All 7 levels done. Two more games are waiting for you.

- [**Preview****1****re-rendered****+1****Prediction game****Reactivity Radar**Will the template update? Call it before Vue does.0 of 3 levels done**Start playing**](https://vuejs.school/games/radar)
- [1\<template>2\<button@click="add">3 {{ count.value }}**bug**4\</button>5\</template>**Spot the bug****Bug Hunt**Find the broken line, then pick the fix.0 of 3 levels done**Start playing**](https://vuejs.school/games/bug-hunt)

[**All games**](https://vuejs.school/games) [**Play again from level 1**](https://vuejs.school/games/lifecycle/1)

```json
{"@context":"https://schema.org","@graph":[{"@id":"https://vuejs.school/#website","@type":"WebSite","description":"A free AI-instructed school for Vue.js. Short tutorials, runnable code and quizzes that adapt to you.","name":"vuejs.school","url":"https://vuejs.school/","publisher":{"@id":"https://vuejs.school/#identity"}},{"@id":"https://vuejs.school/games/lifecycle/4#webpage","@type":"WebPage","description":"count changes. A watcher, the update hooks and a nextTick callback all react. One card never fires again.","name":"Level 4: A click updates the page · Lifecycle Line-up","url":"https://vuejs.school/games/lifecycle/4","isPartOf":{"@id":"https://vuejs.school/#website"},"potentialAction":[{"@type":"ReadAction","target":["https://vuejs.school/games/lifecycle/4"]}],"primaryImageOfPage":{"@id":"https://vuejs.school/#logo"}},{"@id":"https://vuejs.school/#identity","@type":"Organization","description":"A free AI-instructed school for Vue.js. Short tutorials, runnable code and quizzes that adapt to you.","name":"vuejs.school","url":"https://vuejs.school","logo":{"@id":"https://vuejs.school/#logo"}},{"@id":"https://vuejs.school/#logo","@type":"ImageObject","caption":"vuejs.school","contentUrl":"https://vuejs.school/apple-touch-icon.png","inLanguage":"en","url":"https://vuejs.school/apple-touch-icon.png"}]}
```