У меня есть переменная, которая меняет свое значение при клике. Я также передаю эту переменную в параметры класса. В зависимости от этого значения некоторые функции в классе могут возвращать разные значения.
Однако я знаю, что экземпляр вызывается только один раз, и, несмотря на изменение значения переменной, функции внутри класса не вызываются, следовательно, ничего не происходит на странице. Вот мой код:
класс. js
export default class MyClass {
constructor(params, uniqueId) {
this.params = {
...params,
};
...
this.init();
}
init() {
doSomethingHere();
}
doSomethingHere() {
alert(this.params.myMode);
};
}
app.hbs
<button class="foo">foo</button>
<button class="bar">bar</button>
app. js
import MyClass from './components/MyClass';
const myMode = 'foo';
const myParams = {
myMode,
};
new MyClass(myParams);
// by clicking buttons I can change myMode's value
document.querySelector('.foo').addEventListener('click', () => changeMapMode('foo'));
document.querySelector('.bar').addEventListener('click', () => changeMapMode('bar'));
function changeMode(value) {
myMode = value;
}