Penerangan adegan:
Terdapat kotak lungsur pilih bulan pada halaman Klik kotak lungsur dan kami boleh memilih bulan yang sepadan
<select ng-model="month"></select>
Dalam pengawal, anda perlu pergi ke bahagian belakang untuk mendapatkan data yang sepadan mengikut bulan yang dipilih
$scope.$watch($scope.month, function(){
$http({ url:url,method:'GET',withCredentials:true
}).success(function(data,header,config,status){
// do something
})
});
Pemikiran saya:
Dengan mengandaikan terdapat berbilang kotak lungsur pada halaman, menggunakan $watch untuk memantau perubahan $skop satu demi satu adalah tidak sesuai. Adakah terdapat sebarang idea bahawa daripada menggunakan $watch, apabila model ng berubah, pengawal secara automatik menghantar permintaan http untuk mendapatkan data?
Mencari bimbingan pakar~
$jam tangan anda ditulis dengan salah:
Kaedah berikut juga sangat mudah:
Jika anda menggunakan ng-change, prestasi mungkin lebih baik. Ingat untuk mengalih keluar $watch() di atas:
Perbezaan prestasi pada asasnya boleh diabaikan. Saya telah melakukan ujian yang sama sebelum ini, dilaksanakan 1 juta kali, dalam masa 1 saat.
Jika saya melakukannya, saya akan menggunakan kaedah $watch, yang sesuai untuk penyelenggaraan kemudian (kaedah ng-change memerlukan menukar pengawal dan templat, manakala kaedah jam tangan hanya perlu menukar pengawal).
kotak lungsur turun biasanya diproses menggunakan perintah
ngChange
ngChangengChange ialah pilihan terbaik Pada dasarnya, tetapkan baris gilir mendengar sesedikit mungkin, jika tidak kecekapan akan menjadi sangat rendah.