Reminder to self (creating a Web Component)

Danny Engelman - Sep 2 - - Dev Community
connectedCallback() {
    const template = `
<button class="countdown-start">Start the countdown</button>
<span class="seconds-left"></span>
`;
    this.innerHTML = template;
    this.button = this.querySelector('.countdown-start');
    this.secondsDisplay = this.querySelector('.seconds-left');
    this.button.addEventListener('click', () => this.handleClick());
}
Enter fullscreen mode Exit fullscreen mode

can be written

  • without HTML
  • without classes
  • without querySelector
  • without addEventListener
connectedCallback() {
    const createElement = (tag, props={}) => Object.assign(document.createElement(tag), props);
    this.append(
        this.button = createElement("button", {
            innerText: "Start the Countdown",
            onclick: () => this.handleClick()
        }),
        this.secondsDisplay = createElement("span")
    );
}
Enter fullscreen mode Exit fullscreen mode

Full Web Component - both code styles




. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Terabox Video Player