Невозможно вручную изменить значение ползунка в dat. GUI, когда включена функция .listen () - PullRequest
0 голосов
/ 08 апреля 2020

Когда у меня включен .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(), предполагая, что он работает как положено.

Спасибо за любые предложения!

...