2016-05-10 4 views
4

У меня вопрос о том, как иметь несколько макетов в угловом2.Угловой 2, Маршрутизация, несколько макетов Макет

, например: мой сайт имеет 2 раздела, первый является передний конец (., Которые могут видеть, он имеет свой собственный мастер-макет и его URL-адрес является http://mywebsite.com/..)

также он имеет раздел администратора (это один имеет свой собственный отдельный макет и его URL-адрес является http://mywebsite.com/admin/..)

теперь вопрос в том, что если в файле app.ts я определить маршруты и шаблон для страницы, как:.

<div> 
    <router-outlet></router-outlet> 
</div> 

тогда я должен поместить каждый макет связанный ком ненты в каждом последующем компоненте ребенка, как это (http://mywebsite.com/products)

<my-nav></my-nav> 
<my-sidebar></my-sidebar> 
<div class="content"> 
    <!-- actual content of this component --> 
</div> 
<footer></footer> 

и снова http://mywebsite.com/customers, так же HTML разметки.

затем снова я потребуется

<my-admin-nav></my-admin-nav> 
... 

для верстки админ снова.

так что в основном мой вопрос: как я могу это сделать? или, вероятно, я думаю, что совершенно неправильно, пожалуйста, направляйте меня в лучшем направлении. благодаря

+0

Я думаю, что Plunker было бы полезно, чтобы обсудить то, что вы пытаетесь достичь. Существует несколько возможных подходов. –

ответ

2

Есть несколько способов переключения между компонентами:

1) Используйте ngSwitch для переключения между <my-nav></my-nav> и <my-admin-nav></my-admin-nav> компонентами. Docs: https://angular.io/docs/ts/latest/api/common/NgSwitch-directive.html

2) Используйте ViewContainerRef.createComponent()

+0

DynamicComponentLoader устарел, используйте вместо этого 'ViewContainerRef.createComponent' (см. Также http://stackoverflow.com/questions/36325212/angular-2-dynamic-tabs-with-user-click-chosen-components/36325468#36325468) –

+1

Спасибо! Я обновляю свой ответ – muetzerich

+0

Благодарю вас обоих, я вернусь к вам, когда у меня найдется время попробовать их. – shaahin

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