Я основал некоторые из моих работ над той же проблемой, описанной здесь:
динамический шаблон для компиляции динамического компонента с Angular 2.0
Рабочий плункер, описанный в вопросе выше, можно найти здесь.
Проблема возникает, если динамическая деталь пытается создать другое динамическое представление, которое использует динамическую деталь в шаблоне. Если я попытаюсь сделать это, я получаю следующее исключение.:
"dynamic-detail" не является известным элементом: 1. Если "dynamic-detail" является компонентом Angular, а затем убедитесь, что он является частью этого модуля.
Это легко воспроизвести, изменив логику в plunker для создания динамического шаблона, который выводит "<dynamic-detail></dynamic-detail>
".
В файле " app/dynamic/template.builder.ts" я изменил следующий код:
let editorName = useTextarea
? "text-editor"
: "string-editor";
To
let editorName = useTextarea
? "dynamic-detail"
: "string-editor";
Когда это произойдет, я столкнулся с указанным выше исключением. По-видимому, компилятор не знаком с динамической детализацией, когда это делается рекурсивно.
Я попытался добавить DynamicDetail для импорта в разные модули без везения. Может быть, это не часть решения.