Возможен ли глубокий нг-контент?
Предположим, я хочу включить такую разметку в ng-content:
<div aaa>
AAA
</div>
<div aaa bbb>
BBB
</div>
Для этого я могу использовать селекторы (которые выглядят как обычные CSS):
<ng-content select="div[aaa]"></ng-content>
----- some other content here -----
<ng-content select="div[aaa][bbb]"></ng-content>
Но что, если у меня есть этот контент (я не могу избавиться от тега 'section'):
<section>
<div aaa>
AAA
</div>
<div aaa bbb>
BBB
</div>
</section>
Какие селекторы я могу использовать, чтобы получить тот же результат? Это не работает для меня:
<ng-content select="section div[aaa]"></ng-content>
----- some other content here -----
<ng-content select="section div[aaa][bbb]"></ng-content>
Ни это:
<ng-content select="section>div[aaa]"></ng-content>
----- some other content here -----
<ng-content select="section>div[aaa][bbb]"></ng-content>
Есть ли обходной путь для этого? Почему селектор не работает как CSS? Это по замыслу? Я не могу найти причину в документах...
Поможет ли тег "section" заменить на "ng-template" или "ng-container"?
0 ответов
Я не верю, что это возможно с нг-контентом.
Есть альтернативы тому, что вы хотите сделать, однако они немного сложнее.
Мой предпочтительный способ сделать это - использовать Angular CDK Portals. Для получения дополнительной информации см.: