Я хочу создать раскрывающееся меню, используя Angular 2, но я не так, как это сделать в Angular 2-м пути ".
Я мог бы создать раскрывающийся компонент, который будет использоваться следующим образом:
<dropdown>
<li (click)="action('item 1')">Item 1</li>
<li (click)="action('item 2')">Item 2</li>
</dropdown>
Это кажется приятным, но тогда метод action
должен быть определен на компоненте, который содержит элементы <dropdown>
и <li>
, не получает стили, применяемые к стилям в компоненте <dropdown>
, что является нечетным.
Другим вариантом является создание компонентов, которые используются следующим образом:
<dropdown>
<dropdown-item (click)="action('item 1')">Item 1</dropdown-item>
<dropdown-item (click)="action('item 2')">Item 2</dropdown-item>
<dropdown>
Это более подробная информация, компонент раскрывающегося элемента обрабатывает действие click, а стили элементов также определяются компонентом выпадающего элемента.
Есть ли более канонический способ сделать это в Angular 2?
Изменить: я не говорю о пользовательском элементе ввода для формы. Больше похоже на меню с параметрами или контекстное меню правой кнопки мыши.