Я занимаюсь разработкой проекта Ionic + Angular 5.
Мне нужно динамически загрузить некоторые компоненты. Следуя примеру Dynamic Component Loader в документации Angular, я могу успешно загрузить компоненты и отобразить их.
Мне нужно, однако, иметь возможность перебирать загруженные компоненты.
Я могу легко поддерживать свой собственный список компонентов в родительском компоненте, когда создаю и уничтожаю дочерние компоненты, но мне кажется, что это некрасиво, а не "Угловой путь".
После долгих экспериментов и исследований кажется, что я не могу использовать @ViewChildren для доступа к динамически добавляемым компонентам, поскольку они имеют свои собственные представления. ViewChildren не находит динамически компоненты
Это правильно?
Я могу использовать viewContainerRef.get () для перебора дочерних представлений и получения ViewRefs. Но, похоже, не существует способа получить ссылку на компонент с помощью ViewRef?
Я заметил свойство 'rootNodes' ViewRef, однако это свойство не задокументировано в документах Angular Представление Однако оно задокументировано в Документах EmbeddedViewRef Встроенное представление Ref , но это все еще не дает мне доступ к компоненту.
Таким образом, вопрос в том, когда у меня есть родитель, который динамически добавляет дочерние компоненты, как я могу из родительского цикла через дочерние компоненты (чтобы я мог вызвать один из моих методов в дочернем)? Я подозреваю, что я упускаю что-то глупое простое, имею какое-то фундаментальное заблуждение или что мне следует использовать другой шаблон.
Я изменил пример загрузчика динамических компонентов, чтобы выделить то, что я пытаюсь сделать. Изменен загрузчик динамических компонентов