# watch API Vue 3
watch APIλ μ»΄ν¬μ§μ (Composition API)μμ μ¬μ©λ watch μμ±μ μλ―Έν©λλ€. μ΄ νμ΄μ§μμλ μ»΄ν¬μ§μ μμ watch μμ±μ μ΄λ»κ² μ¬μ©ν μ μλμ§ μ΄ν΄λ³΄κ² μ΅λλ€.
TIP
watch μμ±μ data, computed, state λ± λ°μμ±μ΄ μ£Όμ λ κ°μ΄ λ³νμ λ νΉμ λ‘μ§μ μ€ννκ² ν΄μ£Όλ μμ±μ λλ€.
# watch API μκ°
watch APIλ₯Ό μ΄ν΄νκΈ° μν΄ λ¨Όμ watch μμ±μ μ΄ν΄λ³΄κ² μ΅λλ€. μλλ μΈμ€ν΄μ€ μ΅μ μμ± λ°©μμΌλ‘ μμ±λ watch μμ± μ½λμ λλ€.
<script>
export default {
data() {
return {
message: 'Hello'
}
},
watch: {
message: function(newValue, oldValue) {
console.log(newValue);
}
}
}
</script>
μ μ½λλ message
κ°μ λ³κ²½ν λλ§λ€ λΈλΌμ°μ μ½μμ λ³κ²½λ κ°μ΄ μΆλ ₯λλ μ½λμ
λλ€.
μ΄λ²μ μ μ½λλ₯Ό μ»΄ν¬μ§μ μ€νμΌμ watch APIλ‘ λ³κ²½ν΄ λ³΄κ² μ΅λλ€.
<script>
import { ref, watch } from 'vue';
export default {
setup() {
// data
const message = ref('');
// watch
watch(message, (newValue, oldValue) => {
console.log(newValue);
});
}
}
</script>
μμμ μ΄ν΄λ³Έ μ½λμ λμΌνκ² λ³νλ₯Ό κ°μ§ν λ°μ΄ν°λ₯Ό watch APIμ 첫 λ²μ§Έ μΈμλ‘ μ μΈνκ³ , λ λ²μ§Έ μΈμμ μ€νλ λ‘μ§μ μ μμ΅λλ€.
# μ©μ΄ μ 리
- watch μμ± : Vue 2μμ μ¬μ©νλ watch μμ±
- watch API : μ»΄ν¬μ§μ μ€νμΌλ‘ μμ±λ setup μμμμ watch μμ±
β Computed API π Lifecycle API π β