Показать сообщение отдельно
  #7 (permalink)  
Старый 23.12.2019, 11:51
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,133

Сообщение от Malleys
this.counterClosure() лучше, чем this.counterClosure()()
не могу уловить мысль ...
чем плох такой вариант?
<button is="click-counter"></button>
<button is="click-counter"></button>
<button is="click-counter"></button>

<style>
[is="click-counter"]::before { content: "Click me! "}
</style>

<script>
class ClickCounter extends HTMLButtonElement {
	constructor() {
		super();
		const clickHandler = this.counterClosure();
		this.addEventListener("click", clickHandler);
		clickHandler();
	}
	
	counterClosure() {
		let counter = 0;
		return () => this.textContent = counter++;
	}
}
customElements.define("click-counter", ClickCounter, { extends: "button" });
</script>
Ответить с цитированием