0

Angular 8 を使用して単純なダッシュボード コンポーネントを構築しようとしています。ダッシュボードに含まれる各アイテムは何でもかまいません。2 つの異なるコンポーネントを作成しました。1 つはダッシュボード自体 (メイン コンテナー) 用、もう 1 つはダッシュボード内の領域を識別するため (これはウィジェット コンポーネント リストを受け取ります)。

現時点で私の解決策は非常に簡単です。基本的に、ng-contentを使用して、トランスクルードされた要素をメイン コンポーネントに投影します。私はあなたにいくつかのコードを示します

一般的なダッシュボード コンテナー:

<my-dashboard>
  <my-area widgets="[]"></my-area>
  <my-area widgets="[]"></my-area>
  <my-area widgets="[]"></my-area>
</my-dashboard>

my-dashboardコンポーネントは単純に次のとおりです。

<ng-content></ng-content>

このアプローチを使用すると、すべてが機能しますが、たとえばスロットが正確にわかっている場合のように、投影されたコンポーネントの単一のインスタンスにアクセスすることはできません。たとえば、dahboard コンポーネントから特定のコンポーネントの情報を取得したい場合、これは不可能です。これは正しいアプローチですか?ドキュメントのコンテンツ プロジェクションに関する情報はあまり見つかりませんでした。

4

1 に答える 1