これを書くことができるように、ポップアップメニューを除外しようとしています:
<panel-menu>
<panel-menu-item>Edit input</panel-menu-item>
<panel-menu-item>Edit mappings</panel-menu-item>
<panel-menu-item divider-before>Show agent code</panel-menu-item>
</panel-menu>
次の HTMLを持つpanel-menu
コンポーネントがあります。
<div class="btn-group" [class.open]="...">
<button type="button" class="btn btn-default" (click)="..."><i class="ion-gear-b icon-lg"></i></button>
<ul class="dropdown-menu dropdown-menu-right">
<ng-content select="panel-menu-item"></ng-content>
</ul>
</div>
そしてpanel-menu-item
このHTMLで:
<li *ngIf="dividerBefore" class="divider"></li>
<li><a><ng-content></ng-content></a></li>
問題は、結果の DOM に と のpanel-menu-item
間に がul
ありli
、サードパーティの CSS が壊れることです。
子供自身ではなく、選択した子供のコンテンツだけを投影する方法はありますか?
This answerli
は、コンポーネントの代わりに属性を使用することを提案していますが、実装が漏れています。のユーザーは、panel-menu
メニュー項目がどの要素として実装されているかを知る必要はありません。