2016-08-02 64 views
2

我的主要設計是app.component.html因爲通常不同的設計。其他組件像母版頁一樣使用這個組件。但是登錄頁面的設計方式會有所不同。通常它是一個像其他人一樣的組件,並且必須在app.component.html中工作。角2登錄頁面有其他網頁

我找不出來。有什麼建議?

+0

爲了便於維護,我建議根據佈局將應用程序分成更小的子應用程序。 – xmaestro

回答

0

你可以使用另一個角度應用程序(在啓動時使用login.component),但你也可以使用主要成分(例如app.component)沒有一個具體的設計。沒有特定設計的主要組件包含一個特定的設計,具體取決於您要顯示的頁面。

1

你AppComponent應該是這樣的。

@Component({ 
    selector:'payroll-app', 
    template:`<div><router-outlet></router-outlet></div>`, //{{}} these four curly braces are called 'interpolation' 
    directives: [ROUTER_DIRECTIVES], 
    providers: [Utils,BonusService, ModelService, HTTP_PROVIDERS, DialogService] 
}) 

和登錄這樣的:

@Component({ 
    templateUrl:'./app/login/login.component.html', 
    selector:'app-login', 
    styleUrls:['./app/login/login.component.css'], 
    directives:[ROUTER_DIRECTIVES] 
}) 

保持默認路由,如:

LoginRoutes = [ 
    { path: 'login', component: LoginComponent}, 
    {path: '', redirectTo: '/login', pathMatch: 'full'} 
] 

當你在頁面將被加載,路由器服務將默認登錄頁面應用重定向你。這是通常應用程序的工作原理。

+0

但你想象AppComponent中沒有像頁眉或頁腳一樣的html。 – Crypto

+1

如上所示,您可以純粹使用AppComponent作爲路由器插座,然後在它下面有兩個子組件:用作主佈局的組件以及登錄組件,每個組件都有自己獨立的樣式。 –

+0

如果有人需要主佈局,那麼這個AppComponent可以有html標籤。希望能夠理解 –