TL; ДР:
Объяснение:
Я динамически создаю компоненты Angular 2, используя DynamicComponentLoader loadIntoLocation().
Место для вставки компонента, сгенерированного этой функцией, определяется его параметром anchorName
, за исключением того, что вы должны передать
Template Variable Name
(как строка).
Итак, в примере они используют <div #child></div>
в шаблоне, а затем передают 'child'
. Что отлично работает.
Однако вместо того, чтобы связать сгенерированные компоненты с элементом с переменным именем, жестко закодированным в шаблоне, я хотел бы иметь возможность, скажем, добавить их в список с переменным размером.
Теперь страница NgFor показывает, что у вас есть доступ к индексной переменной: <li *ng-for="#item of items; #i = index">...</li>
. Таким образом, это сработает, если я могу назначить элементы списка таким именам имен шаблонов, которые используются для этого индекса или тому подобное, т.е. #child1
, #child2
и т.д.
Итак, я склонен попробовать <div #{{foo}}></div>
с переменной приложения foo как "child"
. У меня возникла проблема с отладкой, поскольку интерфейс не показывает эти имена переменных шаблона в DOM, но кажется, что это динамическое назначение не работает, что приводит к ошибке "Could not find variable ..."
.
Можно ли каким-то образом сделать то, что я хочу? Или даже просмотреть назначенный Template Variable Name
из браузера для отладки?