Я хочу конвертировать Mike Herchel's Importing CSS Breakpoints в класс ES6. Для этого я решил использовать get
и set
, чтобы наконец узнать, как это сделать.Не могу получить сеттеры/геттеры для работы
Мой код до сих пор:
export default class Breakpoints {
constructor() {
this.value = null;
this.refreshValue();
window.addEventListener('resize',() => {
this.refreshValue();
});
}
refreshValue() {
let val = window.getComputedStyle(document.querySelector('body'), ':before').getPropertyValue('content').replace(/\"/g, '');
this.value = val;
}
set value(val) {
this.value = val;
}
get value() {
return this.value;
}
}
Проблема заключается в том, когда я запускаю его, я получаю Maximum call stack size exceeded
. Где я ошибся?
Не уверен, почему ответ был удален, но это было правильно - прибудет/набор скрывает 'this.value' ссылки и ваш геттер называет себя более и более – CodingIntrigue
@RGraham. Основная часть ответа (рекурсивный вызов геттеру) была правильной, но предлагаемое исправление было совершенно неверным. – Alnitak
@Alnitak Я ожидал, что он будет отредактирован. Казалось тривиальным просто удалить 'private _value' – CodingIntrigue