Cara menggunakan EventTarget sebagai penghasil acara asli web

 – Beragampengetahuan
2 mins read

Cara menggunakan EventTarget sebagai penghasil acara asli web – Beragampengetahuan

Misalkan Anda ingin menerapkan pola terbitkan/berlangganan di aplikasi front-end Anda untuk bereaksi terhadap perubahan data dan peristiwa. Pertama, Anda mungkin mencari pustaka penghasil peristiwa.

Saya telah menginstal banyak perpustakaan penghasil acara selama bertahun-tahun, menulisnya dari awal sebagai latihan pengkodean cepat jika menurut saya menguntungkan.

hari ini saya belajar vanilla JavaScript dengan penghasil acara asli, Saya telah menggunakannya secara tidak langsung. Tidak diperlukan kode tambahan!

Contents

ini EventTarget antarmuka

Itu tepat di depan kami; setiap kali Anda menggunakan addEventListener Pada elemen DOM, Anda dapat berlangganan acara di dalamnya. Ini adalah emitor acara klasik. Dapatkah Anda menggunakan kembali fungsi ini entah bagaimana?

Saya selalu berpikir addEventListener ya bagian HTMLElementtapi anehnya tidak!

Dari mana metode itu berasal?

jika Anda memeriksa HTMLElement rantai prototipe, Anda akan menemukan bahwa itu diwarisi dari Element, Node Dan EventTarget.

Rantai prototipe HTMLElement mewarisi dari Element, Node, dan EventTarget.

bersyukur EventTarget antarmuka, Anda dapat berlangganan acara DOM elemen dengan addEventListener. definisi MDN EventTarget sebagai berikut:

Antarmuka EventTarget diimplementasikan oleh objek yang dapat menerima event dan mungkin memiliki event listener. Dengan kata lain, target acara apa pun mengimplementasikan tiga metode yang terkait dengan antarmuka.

setiap objek yang mewarisi dari EventTarget Menjadi Peluncur Acara!

memperpanjang EventTarget Buat emitor acara

Mari kita menginisialisasi yang baru EventTarget Lihat apa yang kami dapatkan.

const emitter = new EventTarget()

typeof emitter.addEventListener    
typeof emitter.removeEventListener 
typeof emitter.dispatchEvent       

emitter.addEventListener('YOLO', () => {
  console.log('YOLO');
})


emitter.dispatchEvent(new Event('YOLO'));

mudah digunakan EventTarget Berguna untuk logika sederhana, tetapi jika Anda perlu melakukan lebih dari mengirim acara, Anda mungkin ingin memasangkannya dengan logika kustom.

Misalnya, agar tampilan tetap mutakhir, Anda mungkin perlu menyimpan status dalam emitor peristiwa, mengubah status ini, dan merender ulang tampilan saat data berubah.

Untuk mencapai ini, gunakan sintaks kelas JS, memperluas EventTarget antarmuka dan pasangkan dengan logika aplikasi Anda.

Di bawah ini temukan penghasil acara “penyimpanan” sederhana yang menyimpan data dan memberi tahu pendengar ketika statusnya berubah.

export class MyEventEmitter extends EventTarget {
  #list;

  constructor(list = []) {
    super();
    this.#list = list;
  }

  getItems() {
    return this.#list;
  }

  addItem(item) {
    this.#list = [...this.#list, item];
    
    this.dispatchEvent(new Event("update"));
  }
}

EventTarget Ini hal yang keren! Saya ingin tahu apa permata antarmuka lain yang bersembunyi di browser kita. 🤔

rencana pengembangan website



metode pengembangan website

jelaskan beberapa rencana untuk pengembangan website, proses pengembangan website, kekuatan dan kelemahan bisnis pengembangan website
, jasa pengembangan website, tahap pengembangan website, biaya pengembangan website

#Cara #menggunakan #EventTarget #sebagai #penghasil #acara #asli #web

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *