Я делаю боковую панель в angular2.
Код:
Шаблон бокового (дочернего) компонента:
<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
, и изменить отображение списка?
Есть ли другой способ сделать многоразовый складной в боковой панели? Скажи мне, если мой подход неверен.