Для того, чтобы использовать ViewContainerRef#createComponent, нужно написать что-то вроде
@ViewChild('foo', {read: ViewContainerRef}) foo;
В этой статье мы хотим рендерить компоненты в popup'ах, следовательно на его контейнер нужно сослаться. Сделать этого не вижу возможности, если Вы поможете, буду только благодарен!
Это скорее утилитка, в которую вынесена «низкоуровневая» сложная логика работы с компонентами, чем сервис. Но в целом согласен с Вашей мыслью, что сервис не должен знать о представлении.
1) Беглым поиском по гуглу нашёл много ссылок на эту тему, все должно работать, единственное что нужно добавить в providers некую вещь, которая поддержит aot.
2) Думаю, что можно. Первое решение, которое пришло в голову: получаем с сервера html, подкидываем её в компонент, там прикрепляем её к темплейту и динамически создаем этот компонент. Думаю, должно сработать. Скорее всего есть более элегантное решение.
В этой статье мы хотим рендерить компоненты в popup'ах, следовательно на его контейнер нужно сослаться. Сделать этого не вижу возможности, если Вы поможете, буду только благодарен!
2) Думаю, что можно. Первое решение, которое пришло в голову: получаем с сервера html, подкидываем её в компонент, там прикрепляем её к темплейту и динамически создаем этот компонент. Думаю, должно сработать. Скорее всего есть более элегантное решение.