Я хочу динамически создавать компоненты из заданного json. Первый уровень - это TestComponent, у которого может быть много TestLayerComponent. Проблема в том, что TestLayerComponent также может иметь много TestLayerComponent. Я использую это для динамического создания меню слайдов pu sh. Если путь слоя начинается с Европы, создайте <li>
с текстом Европа, если в Европе есть Балканы, создайте новый <ul>
в Европе с <li>
Балканы и т.д. c.
Меню должно выглядеть как это , но реализовать с компонентами не с DOM.
[{
Username:"",
Password:"",
Maps:[
{
Name:"",
Title:"",
Layers:[
id:""
path:"Europe/Balkans/Greece"
]
},
{
Name:"",
Title:"",
Layers:[
id:""
path:"Europe/Balkans/Romania"
]
},
{
Name:"",
Title:"",
Layers:[
id:""
path:"Asia/China"
]
},
]
}
]
Вот мой код, который я пробую, но по-прежнему отображает только последний компонент.
for (const map of maps) {
mapViewContainerRef.clear();
let mapRow = mapViewContainerRef.createComponent(mapFactory);
mapRow.instance.maps = map;
for (const layer of map.layers) {
mapFactory = this.menuFactory.resolveComponentFactory(TestLayerComponent);
mapViewContainerRef.clear();
mapViewContainerRef.createComponent(mapFactory);
mapRow = mapViewContainerRef.createComponent(mapFactory);
mapRow.instance.layers = layer;
}
mapRow.destroy();
}