Mereka yang telah menggunakan angularjs mesti tahu pengikatan dua halanya, yang sangat mudah digunakan, tetapi bagaimana ia dilaksanakan secara dalaman?
Mengemas kini data apabila paparan berubah adalah mudah difahami, dan kebanyakan orang tahu cara mensimulasikannya Tetapi apabila mengemas kini paparan apabila data berubah, kuncinya terletak pada cara menilai bahawa data telah berubah. . .
Saya memikirkannya sebelum ini, sama seperti menyimpan salinan oldValue dahulu, dan kemudian melintasi ini dengan kerap, membandingkan newValue dengan oldValue dan melakukan kemas kini dan kerja lain yang berkaitan jika ia berubah. . .
Tetapi adakah anda fikir ini okey? Setelah difikirkan lama-lama, saya rasa ianya tidak begitu boleh dipercayai. Saya harap adik-adik semua tidak teragak-agak untuk mengajar saya! ## Tajuk
Melaksanakan contoh mudah yang serupa dengan pengikatan dua hala
HTML
SKRIP
Lihat perubahan data kemas kini
Ini sangat mudah, cuma ikat acara semasa menyusun arahan myModel
Perubahan data UI kemas kini
Terdapat pemerhati dan penghadaman di dalam skop
Apabila kami menetapkan nilai pada skop dan mencetuskan ringkasan, UI akan dikemas kini secara serentak
Menggunakan setTimeout secara langsung, hasilnya ialah UI tidak dikemas kini Kami perlu melakukan pemprosesan berikut
Atau gunakan $masa tamat sudut, yang membantu kami mencetuskan penghadaman
Mari cari. Terdapat banyak artikel yang boleh membantu anda menjawab soalan anda dahulu dan kemudian bertanya soalan
Pertama sekali, saya ingin menyatakan bahawa saya tidak begitu biasa dengan angularjs yang disebutkan dalam soalan, yang agak di luar topik.
Kalah mati juga mempunyai ciri pengikatan data dua hala yang sama Ia dilaksanakan dalam mod pemerhatian, apabila memberikan nilai menggunakan kaedah yang ditetapkan, ia juga akan memberitahu pemerhati yang berminat dengan objek tersebut digunakan untuk mencapai kesan pengikatan dua hala data.
angular1 ialah cek kotor. . Ini juga membawa masalah prestasi
Bagaimanakah AngularJS melaksanakan mekanisme pengikatan data dua halanya?
可以参考:
http://teropa.info/build-your-own-angular/build_your_own_angularjs_sample.pdf