Когда у меня включен .listen()
на контроллере, я не могу изменить значение в его текстовом поле.
class Controls {
constructor() {
this.number = 0;
this.gui = new dat.GUI();
this.gui.add(this, 'reset');
this.gui.add(this, 'number', 0, 1).step(0.1).listen();
}
reset() {
this.number = 0;
}
}
const controls = new Controls();
<script src="https://cdnjs.cloudflare.com/ajax/libs/dat-gui/0.7.7/dat.gui.min.js"></script>
Звучит как ошибка в dat.GUI
. Мой текущий обходной путь - удалить .listen()
, и у меня есть собственная функция updateDisplay
, которая рекурсивно изменяет значение всех контроллеров.
Однако, это взлом и может стать очень медленным, когда я начну включать больше и больше контроллеров. Я бы предпочел использовать встроенный .listen()
, предполагая, что он работает как положено.
Спасибо за любые предложения!