Skip to content

Instantly share code, notes, and snippets.

@kresnasatya
Created January 10, 2018 22:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kresnasatya/c34cebf5a9350b82907f06d2d0374c79 to your computer and use it in GitHub Desktop.
Save kresnasatya/c34cebf5a9350b82907f06d2d0374c79 to your computer and use it in GitHub Desktop.
Custom elements lifecycle
class PrimaryButton extends HTMLElement {
// Wajib diisi ketika elemen dibuat atau ditingkatkan.
// Berguna untuk inisialisasi state, setting event listener,
// atau membuat shadow DOM.
constructor() {...}
// Dipanggil setiap kali elemen dimasukkan ke dalam DOM.
// Berguna saat menjalankan setup kode (menarik resource atau rendering).
connectedCallback() {...}
// Dipanggil setiap kali elemen dihapuskan dari DOM.
// Berguna untuk menjalankan pembersihan kode.
disconnectedCallback() {...}
// Dipanggil ketika sebuah observed attribute ditambahkan, diperbaharui, dihapus atau diganti.
// Juga dipanggil untuk inisialisasi sebuah nilai ketika elemen dibuat oleh parser atau ditingkatkan.
attributeChangedCallback() {...}
// Ketika elemen diadopsi atau dipindahkan ke dokumen baru.
adoptedCallback() {...}
}
// Mendaftarkan <primary-button>
customElements.define('primary-button', PrimaryButton);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment