Rumah > Soal Jawab > teks badan
Penerangan terperinci:
$watch memantau kotak lungsur turun, dan jangkaan ialah hanya apabila pengguna mengklik pilihan dalam kotak lungsur, bahagian hadapan akan meminta bahagian belakang untuk mengemas kini data.
Masalah semasa ialah:
Apabila halaman web dimuatkan dan kotak drop-down muncul buat kali pertama, $watch akan dilaksanakan secara automatik sekali Mekanisme ng percaya bahawa pemuatan adalah klik pengguna.
Ingin tahu cara melumpuhkan pelaksanaan automatik $watch dalam kes ini
迷茫2017-05-15 17:06:22
Terima kasih atas jemputan.
Pertama sekali, bolehkah saya membetulkan sedikit kecacatan dalam perkataan.
Anda berkata "$watch monitors a drop-down box", ng
ialah rangka kerja yang melaksanakan pengikatan data dua hala dan mempunyai API pengisytiharan Adalah mustahil untuk $watch
di sini memantau elemen DOM 下拉框
. Perkataan yang sesuai boleh ditulis sebagai "ungkapan yang dipantau oleh $watch yang menunjuk kepada nilai kotak lungsur yang dipilih" yang lebih tepat (rakan yang mahir dalam bahasa Cina boleh mengoptimumkan lagi).
Apabila bertanya, kita cenderung terlalu menumpukan pada jawapan yang ingin kita ketahui dan mengabaikan cara ekspresinya huraian adalah kabur, menjadikannya mustahil untuk dijawab. Sebenarnya, saya masih boleh memahami huraian soalan itu, tetapi saya hanya ingin mengatakan beberapa perkataan lagi kerana perasaan saya.
Berbalik kepada subjek, memandangkan anda tidak mahu berurusan dengan pemulaan data $watch
, anda boleh menilainya seperti ini
$scope.$watch('表达式', function(newVal, oldVal){
//当之前值和当前值相同,或者之前值为null或undefined时
if(newVal === oldVal || oldVal == null){
//不执行任何操作
return;
}
//你的正常代码,写这里
});
PHPz2017-05-15 17:06:22
http://docs.ngnice.com/api/ng/type/$rootScope.Scope
scope.$watch('name', function(newValue, oldValue) {
if(newValue == oldValue) return;
scope.counter = scope.counter + 1;
});
習慣沉默2017-05-15 17:06:22
Menggunakan ngChange boleh mengelakkan panggilan pemula
Nota:
Perlu digunakan bersama dengan ngModel
Menukar nilai ngModel menggunakan program tidak akan mencetuskan ngChange
Nilai ungkapan yang diberikan apabila pengguna menukar input Ungkapan tersebut dinilai serta-merta, tidak seperti peristiwa onchange JavaScript yang hanya mencetuskan pada penghujung perubahan (biasanya, apabila pengguna meninggalkan elemen borang atau menekan butang. kunci pulangkan).
ngTukar Dokumentasi