Я работаю над HTML customlement, но когда я запускаю его в браузере, я получаю очень интересную ошибку. Это код:
class clock extends HTMLElement {
constructor() {
super()
this.time = new Date(this.getAttribute('time'));
this.span = document.createElement('span')
this.appendChild(this.span)
}
Timer() {
let Now = this.time;
let Seconds = Now.getSeconds();
let Minutes = Now.getMinutes();
let Hours = Now.getHours();
Minutes = Minutes < 10 ? "0" + Minutes : Minutes;
document.getElementById("digitalClock").textContent = Hours + ":" + Minutes;
}
connectedCallback(){
this.span.innerHTML = `...<span id="digitalClock"></span>`;
this.Timer();
this.myClockTimer = setInterval(this.Timer, 5000);
}
disconnectedCallback(){
clearInterval(this.myClockTimer);
}
}
customElements.define('worktime-clock', clock)
Когда я запускаю это, функция Timer работает хорошо при вызове с this.Timer () в функции connectedCallback, но через одну строку, когда она попадает в цикл, она говорит, что сейчас не определено в функции таймера. Похоже, что есть проблема с ее вызовом в setinterval, однако функция определенно запускается снова и снова, как и ожидалось. Кто-нибудь знает, в чем проблема?