cari

Rumah  >  Soal Jawab  >  teks badan

angular.js - $watch memantau kotak drop-down Ia akan dilaksanakan secara automatik sekali apabila halaman web dimuat semula Bagaimana untuk melumpuhkan pelaksanaan automatik.

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

漂亮男人漂亮男人2783 hari yang lalu943

membalas semua(3)saya akan balas

  • 迷茫

    迷茫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;
        }
        
        //你的正常代码,写这里
    });

    balas
    0
  • PHPz

    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;
    });

    balas
    0
  • 習慣沉默

    習慣沉默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

    balas
    0
  • Batalbalas