Вход

Просмотр полной версии : Несколько дочерних типов в TreeModel - как?


Infarch
12.07.2016, 17:10
Здравствуйте.

У TreeModel есть полезная конфигурационная опция: "childType". Если у меня, например, есть модель с таокй строкой:

childType: 'SafetyRound.model.entity.SafetyRoundMeasure',

то все что пришло в json этой модели в блоке data будет проеобразовано в данный тип.

Но что делать если я должен получить несколько типов данных? Например моя data содержит вперемешку 'SafetyRound.model.entity.SafetyRoundMeasure' и 'SafetyRound.model.entity.SafetyRoundAttachment'. Как создавать правильные экземпляры?

nohuhu
15.07.2016, 16:16
Не совсем понятно, почему нужно делать именно так. Судя по названиям, у вас данные укладываются в реляционную модель, для этого есть ассоциации.

Infarch
17.07.2016, 12:41
Есть особенность в реализации: я получаю сразу много вложенных данных в JSON и на их основе строю дерево моделей. А если через ассоциации то надо будет делать несколько запросов.

nohuhu
18.07.2016, 14:20
Честно сказать, я не вникал в эту часть кода глубоко, но насколько я знаю, ассоциированные модели вполне могут создаваться из одного пакета данных. Лучше спросите в официальном форуме и дайте ссылку здесь, я подброшу её Эвану, который наш гуру по моделям и всему такому.

Infarch
18.07.2016, 14:45
Спасибо, но я как раз нашел решение: http://docs.sencha.com/extjs/5.1.1/Ext.data.reader.Reader.html#cfg-typeProperty
Вроде как раз то что надо. Придется возвращать имена моделей с сервера, но это вполне можно пережить.

ps: Вот тут бы еще подсказку: http://javascript.ru/forum/extjs/63800-udalenie-dereva-modelejj.html :)