【发布时间】:2018-01-20 23:51:39
【问题描述】:
这是我第一次尝试做 OOP,并做了一个简单的番茄钟计时器。 https://codepen.io/hyrosian/project/editor/XpjOPR
曾尝试将倒数计时器与控件分开。倒数计时器正在工作,但我不确定如何让类计数器和类控件以某种方式“适合”在一起。
const counter = new Counter(DOMnode)
const controls = new Controls()
计划是在Controls 中设置事件监听器和处理程序。我们得到值,例如+5 分钟用于更改其中的会话/休息时间。但是 Controls 需要访问 Counter 内部的状态。
class Controls extends Time {
constructor() {
super()
this.session_btn = document.querySelectorAll('[data-session]')
this.break_btn = document.querySelectorAll('[data-break]')
}
handleBreak(e) {
console.log(e.target.dataset.break)
}
handleSession(e) {
console.log(e.target.dataset.session)
}
init() {
this.session_btn.forEach(btn => btn.addEventListener('click', this.handleSession))
this.break_btn.forEach(btn => btn.addEventListener('click', this.handleBreak))
}
}
将它们组合在一起的正确方法是什么?
编辑:为什么投反对票?
【问题讨论】:
标签: javascript oop ecmascript-6