Создание динамических c angular 8 компонентов и html элементов и их реорганизация - PullRequest
0 голосов
/ 19 февраля 2020

У меня следующая проблема. У меня есть массив с angular 8 именами компонентов и html элементами. В настоящее время он создает компоненты angular 8 и элементы html, но не упорядочивает их так, как они отсортированы в массиве. Это мой код:

for (var i = 0; i < res.length; i++) {
            var val = res[i];
            if (val.value.Type) {
                //Getting the factory for the component
                const factories = Array.from(this.resolver['_factories'].keys());
                const factoryClass = <Type<any>>factories.find((x: any) => x.name === val.editor.alias);

                const factory = this.resolver.resolveComponentFactory(factoryClass);
                //Creating the component
                this.Container.createComponent(factory);
            } else {
                this.$Element.append(val.value);
            }
}

Мой DOM выглядит следующим образом

Компоненты angular всегда вставляются непосредственно после .content div. Я уже пробовал использовать Container.insert, но он тоже не работает.

1 Ответ

0 голосов
/ 20 февраля 2020

Чтобы добавить созданный вами динамический c компонент в DOM, вы можете использовать JQuery:

const factory = this.resolver.resolveComponentFactory(factoryClass);
//Creating the component
var component = factory.create(this.Container.parentInjector);
//Appending the component node to the register element
this.Container.insert(component.hostView);
this.$RootElement.parent().append(component.hostView["rootNodes"][0]);

. Это создаст элемент и вставит теги html с JQuery.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...