Есть вот такой элемент (Number-Slider) на странице:
prntscr.com/ib96so
Number-Slider соответственно состоит из Number'а и Slider'а, у которых есть в свою очередь методы setValue, которые вызывают срабатывание события Change у Number'а и Slider'а соответственно.
По задумке работает это вот так: Изменяем значение в number, вызывается метод setValue у number'а, слушатель number-slider'а реагирует на это событие и вызывает метод setValue у слайдера и наоборот, двигаем слайдер, срабатывает change у слайдера, вызывается setValue у number'а.
Проблема в том, что события change начинают вызывать друг друга и вызывают ошибку:
prntscr.com/ib98r9
Слушатели в Number Slider выглядят вот так:
k.on( this.number.el, 'change', () => {
let value = this.number.getValue();
this.slider.setValue( value );
} );
k.on( this.slider.el, 'change', () => {
let value = this.slider.getValue();
this.number.setValue( value );
} );
По факту всё работает, но есть ошибка. Как можно это исправить?