2016-06-03 6 views
1

Я использую ng2-bootsrap'saccordion directive.Угловой 2 пользовательский компонентный селектор в директиве стороннего производителя

Он отлично работает с обычной HTML, используя следующий синтаксис:

<accordion> 
    <accordion-group heading="Heading 1"> 
     <div>Quick Search...</div> 
    </accordion-group> 
</accordion> 

Я хотел бы, чтобы вставить селектор одного из моих компонентов, как это:

<accordion> 
    <accordion-group heading="Heading 1"> 
     <quick-search></quick-search> 
    </accordion-group> 
</accordion> 

Когда я добавить свой компонент, то Парсер просто удаляет селектор и ничего не показывает на своем месте. Если гармошка была директивой, которую я создал, я обычно добавить свой компонент (QuickSearchComponent) в список директив, как это:

@Component({ 
    ... 
    directives: [QuickSearchComponent] 
    ... 
}) 

Но в том, что это директива третьей стороны. Как заставить директиву распознать ее или добавить в аннотацию @ Component.directives?

ответ

1
directives: [QuickSearchComponent] 

требуется на компоненте, который содержит

<accordion> 
    <accordion-group heading="Heading 1"> 
     <quick-search></quick-search> 
    </accordion-group> 
</accordion> 

и нет необходимости в компоненте accordion или accordion-group.

Что необходимо в accordion-component является тегом <ng-content>, где <quck-search> переведен в.

Если он работает с <div>Quick Search...</div>, то он должен работать с <quick-search></quick-search>.

Проблема вызвана чем-то другим.

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