Здравствуйте.
Вопрос, конечно, "баян-бабаян" сто раз заданный, но я не нашёл ответ...
В книгах про классы ES6 всё так весело и безоблачно...
class Widget{
constructor(elem){
let inner = document.create('div')
inner.textContent = 'CONTENT'
inner.addEventListener('click', this.listener)
inner.dataset.any = 'Hello'
elem.appendChild(inner)
}
listener(e){
this.notVisibleMethod(e.target)
}
notVisibleMethod(node){
if(node.dataset.any === 'Hello'){
alert('Hello')
}
}
}
let app = document.getElemetById('app')
let widget = new Widget(app)
listener виден, те, если я просто пишу в listener "alert('Hello')", то работает, но из листенера не видно "не зги"...
я упростил, естественно, но суть ясна для опытных: в лситенер не видит notVisibleMethod.
я даже понимаю, что контекст листенера это HTMLElement...
радости всё равно мало
я даже Webpack настроил и у меня всё собирается: sass, babel, uglify, но когда "тык", то "is not a function..."