Rumah > Artikel > hujung hadapan web > Contoh pelaksanaan berbilang corak reka bentuk Javascript Kemahiran pattern_javascript pemerhati
Pengenalan
Mod pemerhati juga dipanggil mod terbitkan/langgan (Terbitkan/Langganan Ia mentakrifkan perhubungan satu-ke-banyak, membenarkan berbilang objek pemerhati memantau objek topik tertentu pada masa yang sama perubahan objek topik, Semua objek pemerhati akan dimaklumkan supaya mereka boleh mengemas kini sendiri secara automatik.
Faedah menggunakan corak pemerhati:
1. Menyokong komunikasi penyiaran mudah dan memberitahu semua objek yang dilanggan secara automatik.
2. Selepas halaman dimuatkan, objek sasaran dengan mudah boleh mempunyai hubungan dinamik dengan pemerhati, yang meningkatkan fleksibiliti.
3. Hubungan gandingan abstrak antara objek sasaran dan pemerhati boleh dilanjutkan dan digunakan semula secara bebas.
Teks (versi 1)
Pelaksanaan corak pemerhati dalam JS dicapai melalui panggilan balik Mari kita tentukan objek pubsub, yang mengandungi 3 kaedah: langgan, nyahlanggan dan terbitkan.
Bagaimana pula? Bukankah ia bagus untuk digunakan? Tetapi terdapat masalah dengan kaedah ini, iaitu, tiada cara untuk berhenti melanggan. Jika anda ingin berhenti melanggan, anda mesti menyatakan nama penyahlangganan, jadi mari buat versi lain:
Versi 2
Kita juga boleh menggunakan ciri-ciri prototaip untuk melaksanakan corak pemerhati Kodnya adalah seperti berikut:
Jika anda digesa bahawa penapis atau untukSetiap fungsi tidak ditemui, ini mungkin kerana penyemak imbas anda tidak cukup baharu dan pada masa ini tidak menyokong fungsi standard baharu Anda boleh mentakrifkannya sendiri menggunakan kaedah berikut:
Jika kita mahu berbilang objek supaya pemerhati menerbitkan dan melanggan fungsi, kita boleh mentakrifkan fungsi umum, dan kemudian menggunakan fungsi fungsi ini pada objek yang memerlukan fungsi pemerhati Kodnya adalah seperti berikut:
Kaedah penggunaan agak mudah Langgan fungsi panggil balik yang berbeza supaya anda boleh mendaftar ke objek pemerhati yang berbeza (anda juga boleh mendaftar ke berbilang objek pemerhati pada masa yang sama):
versi jQuery
Menurut fungsi hidup/mati baharu jQuery versi 1.7, kami juga boleh mentakrifkan versi pemerhati jQuery:
Kaedah panggilan adalah lebih mudah daripada tiga versi di atas:
Seperti yang anda lihat, langganan dan penyahlangganannya menggunakan nama rentetan dan bukannya nama fungsi panggil balik, jadi walaupun fungsi tanpa nama dihantar, kami masih boleh menyahlanggan.
Ringkasan
Kes penggunaan pemerhati ialah: apabila perubahan pada satu objek memerlukan perubahan pada objek lain pada masa yang sama, dan ia tidak tahu berapa banyak objek yang perlu ditukar, anda harus mempertimbangkan untuk menggunakan corak pemerhati.
Secara umum, apa yang dilakukan oleh corak pemerhati ialah penyahgandingan, menjadikan kedua-dua pihak gandingan bergantung pada pengabstrakan dan bukannya kekonkretan. Supaya perubahan pada setiap pihak tidak akan mempengaruhi perubahan di pihak yang lain.