私は単純なメニューバーを実装しようとしています。私はメインメニューバーのコンポーネントと、さまざまな深さのサブメニューがあります。メインメニューバーを閉じるときに、すべてのサブメニューを閉じたいと思います。ですから、私は、親コンポーネントがすべての子にデータなしで簡単なイベントを送信することを望みます。角2は親からすべての子にイベントを送信します
このイベントサブスクリプションは必須であり、すべてのサブメニューで同じであるため、サブメニューコンポーネントを使用するときに入力を宣言する必要はありません。したがって、宣言ははるかに単純になり、それ以上の間違いを避けるでしょう。言い換えれば
、私は、メニューバーのコンポーネントでこれを持っている:
<sub-menu [title]="File">
<sub-menu [title]="New" (onclick)="newFile()"></sub-menu>
<sub-menu [title]="Open" (onclick)="openFile()"></sub-menu>
<sub-menu [title]="Save" (onclick)="saveFile()"></sub-menu>
</sub-menu>
<sub-menu [title]="Edit">
<sub-menu [title]="Copy" (onclick)="copy()"></sub-menu>
<sub-menu [title]="Paste" (onclick)="paste()"></sub-menu>
</sub-menu>
と、このようなものを宣言することなく、すべてのサブメニューにイベントを送信するには、この親コンポーネントをしたい:
<sub-menu [title]="File" [mainClosed]="closed">
<sub-menu [title]="New" (onclick)="newFile()" [mainClosed]="closed"></sub-menu>
<sub-menu [title]="Open" (onclick)="openFile()" [mainClosed]="closed"></sub-menu>
<sub-menu [title]="Save" (onclick)="saveFile()" [mainClosed]="closed"></sub-menu>
</sub-menu>
<sub-menu [title]="Edit" [mainClosed]="closed">
<sub-menu [title]="Copy" (onclick)="copy()" [mainClosed]="closed"></sub-menu>
<sub-menu [title]="Paste" (onclick)="paste()" [mainClosed]="closed"></sub-menu>
</sub-menu>
あなたが何かsimilaを定義する必要があなたの親コンポーネントでViewChildren
として親に子コンポーネントを注入する@ViewChildren
を使用することができます
感謝!キスしたい。 – Julien
あなたは喜んで援助してくれることを歓迎しますが、おそらく他の誰かに物理的な愛情を救います:) –