1
一個創建登錄頁面
我創造了我的Angular2應用程序的主要成分下面的模板:如何加載
<header>
<topbar></topbar>
</header>
<div class="middle">
<sidebar></sidebar>
<main>
<router-outlet></router-outlet>
</main>
</div>
<footer></footer>
正如你可以看到,我把我的角router
在模板內,該main
標籤下。
這裏是我的app.routing.ts
文件:
import {Routes, RouterModule} from '@angular/router';
import {Page1Component} from './components/page1/page1.component';
import {Page2Component} from './components/page2/page2.component';
import {Page3Component} from './components/page3/page3.component';
import {PageNotFoundComponent} from './components/page-not-found/page-not-found.component';
const appRoutes: Routes = [
{ path: '', component: Page1Component },
{ path: 'page2', component: Page2Component },
{ path: 'page3', component: Page3Component },
{ path: '**', component: PageNotFoundComponent }
];
export const appRoutingProviders: any[] = [];
export const routing = RouterModule.forRoot(appRoutes);
現在我想添加一個LoginComponent
,使來賓用戶(沒有登錄到應用程序=用戶)無法看到應用段落和內容。所以登錄組件應該加載一個頁面而不是以前的模板。例如它的模板可能是以下幾點:
<header></header>
<div class="welcome">
<login></login>
</div>
<footer></footer>
那麼,如何將它添加到我的路由系統,並防止加載其他組件,如側欄,頂欄等?
謝謝你的回覆。但是,如果登錄頁面已加載,頂欄應該不可見。請再看一遍我的問題。 – smartmouse
看到我的編輯..它的你的選擇什麼顯示在第一頁..其餘的應該在你的MainComponent只有登錄用戶可用.. – mxii
我說'topbar',而不是'header'。正如你可以看到登錄和未登錄的用戶可以看到'header'和'footer'部分。登錄的用戶可以在標題和應用程序的每個頁面中看到頂級菜單。訪客用戶只能看到登錄頁面(也有頁眉和頁腳)。 – smartmouse