Perbezaan antara Kaedah $observe dan $watch dalam AngularJS
AngularJS menggunakan kedua-dua Pemerhati dan Pemerhati untuk memantau perubahan dalam objek $scope. Walaupun kedua-duanya bertindak balas terhadap perubahan dalam $scope, terdapat perbezaan utama antara keduanya.
$observe:
- Kaedah yang tersedia pada objek Atribut
- Semata-mata melihat perubahan nilai atribut DOM
- Terutama digunakan dalam arahan
- Sesuai untuk memerhati atribut yang mengandungi interpolasi ({{}})
$watch:
- Kaedah pada objek Skop
- Memantau "ungkapan", sama ada fungsi atau rentetan
- String dinilai sebagai Sudut ungkapan, tidak termasuk {{}}
- Boleh digunakan dalam pengawal dan fungsi memaut
- Selalunya digunakan untuk memerhati sifat model/skop
Sifat Asynchronous of Atribut dengan Interpolasi:
Atribut yang termasuk interpolasi tidak dinilai serta-merta. Oleh itu, $observe dan $watch adalah penting untuk mengendalikannya secara tidak segerak.
Syor:
Jika skop terpencil tidak digunakan, $watch disyorkan. Untuk skop terpencil dengan atribut yang mengandungi interpolasi, $observe harus diutamakan untuk ketekalan.
Contoh Kes Penggunaan:
- $observe: Perhatikan nilai attr1= "Nama: {{name}}" dalam arahan.
- $watch: Pantau sifat myModel.some_prop dalam pengawal.
Nota Tambahan:
- Kedua-dua $observe dan $watch dilaksanakan semasa setiap kitaran ringkasan.
- Arahan dengan skop terpencil membenarkan $observe atau $watch untuk atribut interpolasi dalam kes sintaks @.
- Penilaian langsung ($eval()) boleh digunakan untuk atribut yang mengandungi nombor, boolean atau rentetan malar.
Atas ialah kandungan terperinci Apakah Perbezaan Antara Kaedah $observe dan $watch dalam AngularJS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!