Проблема с запоминанием вложенного объекта с gui .remember () - PullRequest
0 голосов
/ 26 мая 2020

У меня есть вложенный объект вроде этого:

var config = {
  a: 1,
  b: {
    c: 2,
    d: 3
  }
}

, который я использую в экземпляре dat.gui:

var gui = new dat.GUI();
gui.remember( config );

gui.add( config, 'a' );
gui.add( config.b, 'c' );
gui.add( config.b, 'd' );

но dat.gui экземпляр запоминает только config.a ( см. живую демонстрацию: https://jsfiddle.net/rvcristiand/cz08tLmr/4/).

Изучите параметры для копирования в localstorage Я обнаружил, что отслеживается только a значение:

{
  "preset": "Default",
  "remembered": {
    "Default": {
      "0": {
        "a": 9.9
      }
    }
  },
  "closed": false,
  "folders": {}
}

I нашел то же самое, когда я распечатал gui .getSaveObject () (я думаю, что параметры, показанные в pop windows, генерируются с помощью этой функции).

Тогда есть способ запомнить все значения объекта?

Спасибо.

1 Ответ

1 голос
/ 26 мая 2020

Вложенные свойства, похоже, не поддерживаются, но вы можете запомнить несколько конфигураций.

gui.remember( config );
gui.remember( config.b );

gui.add( config, 'a' );
gui.add( config.b, 'c' );
gui.add( config.b, 'd' );
...