1. Penggunaan sederhana $ Watch
$watch adalah fungsi scope yang mendengarkan perubahan model, yang akan memberi tahu Anda ketika bagian dari perubahan model Anda.
$ Watch (WatchExpression, Listener, ObjectEquality);
Deskripsi setiap parameter adalah sebagai berikut:
WatchExpression: Objek yang harus didengarkan, itu bisa menjadi ekspresi sudut seperti 'nama', atau fungsi seperti function(){return $scope.name} .
Pendengar: Fungsi atau ekspresi yang akan dipanggil ketika watchExpression berubah, ia menerima 3 parameter: newValue (nilai baru), oldValue (nilai lama), scope (referensi ke ruang lingkup)
ObjectEquality: Apakah akan mendengarkan secara mendalam, jika diatur ke true, itu memberitahu Angular untuk memeriksa perubahan di setiap properti di objek yang dipantau. Jika Anda ingin memantau elemen individual dari array atau properti objek alih -alih nilai normal, maka Anda harus menggunakannya
Ambil kastanye:
$ scope.name = 'hello'; var watch = $ scope. $ watch ('name', function (newValue, oldvalue, scope) {console.log (newValue); console.log (oldvalue);}); $ timeout (function () {$ scope.name = "world",}, 1000);2. Dengarkan perubahan dalam beberapa nilai
Situasi yang biasa adalah mendengarkan perubahan nilai satu per satu melalui $watch() , yang tentu saja sebagian besar situasi terpenuhi. Namun, dengan membaca penjelasan situs web resmi tentang $watch() , $watch() memiliki parameter ketiga, parameter ketiga adalah tipe boolean, yang menunjukkan apakah akan mendengarkan secara mendalam. Contoh pemantauan mendalam adalah apakah akan membandingkan sifat -sifat objek.
Dengan cara ini, kita dapat memantau perubahan dalam beberapa nilai sekaligus.
Kode sampel
var app=angular.module("watchApp",[]) .controller("watchController",["$scope",function($scope){ $scope.object={}; $scope.object.one=$scope.one; $scope.object.one=$scope.one; $scope.$watch("object",function(){ ..... },true); }])Meringkaskan
Di atas adalah semua tentang bagaimana AngularJS mendengarkan beberapa nilai berubah sekaligus. Sudahkah Anda mempelajarinya? Saya berharap konten artikel ini akan membantu untuk belajar dan bekerja semua orang. Jika Anda memiliki pertanyaan, Anda dapat meninggalkan pesan untuk berkomunikasi. Terima kasih atas dukungan Anda ke wulin.com.