私はangular2でサイドバーを作っています。角度2 - 子コンポーネントのコンテンツからのコンテンツおよびイベントへのアクセス
コード:
サイドバー(子)コンポーネントのテンプレート:
<div class="sidebar">
<ng-content></ng-content>
</div>
親コンポーネントのテンプレート:
<app-sidebar>
<li>
<a data-toggle="collapsible-1">Menu-item</a>
<ul id="collapsible-1">
<li>Sub-item 1</li>
<li>Sub-item 2</li>
<li>Sub-item 3</li>
</ul>
</li>
</app-sidebar>
サイドバーコンポーネントには、私はで書かれたコンテンツを投影しています親コンポーネントは<ng-content></ng-content>
です。私が何をしたいか
:私はMenu-item
アンカータグをクリックすると
は、私はリストが(折りたたみ式のように、表示されたり消えたり)切り替えたいです。
私が試してみました何と問題:
私はアンカータグに(click)
イベントを保ちました。しかしその場合、親コンポーネントで通知され、子コンポーネントではapp-sidebar
コンポーネントでは通知されません。再利用性のために、私は機能が親コンポーネント内にあることを望んでいません。ユーザーがapp-sidebar
コンポーネントのアンカータグをクリックしたときを知り、リストの表示を変更するにはどうすればよいですか?
サイドバーに再利用可能な折りたたみ可能な他の方法はありますか?私のアプローチが間違っているかどうか教えてください。