DEV Community

Cover image for Vue.js da "watch" ning vazifasi va qanday ishlaydi ?
Mukhriddin Khodiev (work)
Mukhriddin Khodiev (work)

Posted on • Edited on

Vue.js da "watch" ning vazifasi va qanday ishlaydi ?

Vue.js da watch funksiyasi qanday ishlaydimva va vazifasi nima?

watch dan foydalanish juda qulay. watch funksiyasi Vue komponentida qaysidir ma'lumot (state) o'zgarishini kuzatib, kerakli vazifalarni bajarish imkonini beradi. Quyida oddiy misol orqali tushuntiraman:

  1. <template> qismi: Bu yerda UI elementlar joylashadi.
  2. <script setup> qismi: Bu yerda komponentning skript qismi joylashadi.

Keling, oddiy bir misolni ko'rib chiqaylik. Bu misolda biz bir input elementiga kiritilgan qiymatni kuzatamiz va har safar qiymat o'zgarganda console'ga log da elon qilamiz:

<template>
  <div>
    <input v-model="name" placeholder="Ismingizni kiriting">
    <p>Ismingiz: {{ name }}</p>
  </div>
</template>

<script setup>
import { ref, watch } from 'vue'

// name o'zgaruvchisini e'lon qilamiz
const name = ref('')

// name o'zgaruvchisini kuzatamiz
watch(name, (newValue, oldValue) => {
  console.log(`Ism o'zgardi: ${oldValue} dan ${newValue} ga`)
})
</script>
Enter fullscreen mode Exit fullscreen mode

Asosiy tushunchalar:

  1. ref bilan o'zgaruvchi e'lon qilish: ref yordamida o'zgaruvchi yaratamiz. Bu o'zgaruvchi reaktsion bo'lib, uning qiymati o'zgarsa, Vue avtomatik ravishda komponentni qayta render qiladi.
   const name = ref('')
Enter fullscreen mode Exit fullscreen mode
  1. watch funksiyasi: watch funksiyasi birinchi argument sifatida kuzatiladigan o'zgaruvchini, ikkinchi argument sifatida esa callback funksiyani qabul qiladi. Callback funksiyasining birinchi argumenti yangi qiymat, ikkinchi argumenti esa eski qiymatdir.
   watch(name, (newValue, oldValue) => {
     console.log(`Ism o'zgardi: ${oldValue} dan ${newValue} ga`)
   })
Enter fullscreen mode Exit fullscreen mode

watch funksiyasi yordamida siz har qanday reaktsion o'zgaruvchini (shu jumladan ref, reactive yoki computed o'zgaruvchilarni) kuzatishingiz mumkin. Bu metod komponentdagi ma'lumotlar o'zgarganda aniq amalni bajarishga imkon beradi.

Bizni tarmoqlarda kuzatishingiz mumkin va maqola foydali bo'lsa izoh va Vuechi do'stlaringizga ulashing. 🫡

Top comments (1)

Collapse
 
kentaro_tanaka_5b2893f1d1 profile image
Kentaro Tanaka

Hi, nice to meet u. I have read your post carefully and I have learned a lot. I saw your profile and I knew that you are CEO. I am a senior backend and blockchain engineer who expert in C++, Python, JavaScript and Rust. I am wondering if I can work with you.