2016-05-15 2 views
3

Мне нужно реализовать пользовательский выбор даты.
Для этого у меня есть date-picker.directive и select-date.component (диалоговое окно).Мгновентировать компонент из директивы

Я прикрепляю директивы через атрибут в html и могу обрабатывать события. Директива click click должна вызвать диалоговое окно (это наш компонент).

<button class="btn" type="button" date-picker> 

Но как я могу создать экземпляр select-date.component из директивы?
Как добавить новый компонент в DOM?

ответ

1

Если вы знаете тип компонента, который вы можете просто вводить его в директиве

export class DatePickerDirective { 
    constructor(private selectDateComponent:SelectDateComponent) {} 
} 

Если директива должна быть в состоянии получить доступ к любому типу компонента, где он применяется, то вы можете использовать метод, описанный в How to access the Component on a Angular2 Directive (см. также этот выпуск https://github.com/angular/angular/issues/8277)

+0

Günter Zöchbauer, ваше решение помогает получить доступ к существующим компонентам. Можно ли создать новый экземпляр компонента и добавить его в DOM? – rnofenko

+0

См. Http://stackoverflow.com/questions/36325212/angular-2-dynamic-tabs-with-user-click-chosen-components/36325468#36325468 для примера –

+0

Günter Zöchbauer, спасибо за вашу помощь, но ваш пример показывает, как создать _компонент из компонента_. Когда мне захочется найти решение для _component из директивы_. – rnofenko

Смежные вопросы