1 回答

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超10個(gè)贊
根據(jù)您目前提供的信息,您似乎一直在嘗試從登錄頁(yè)面導(dǎo)航到儀表板。
您仍然可以看到登錄頁(yè)面字段以及底部的儀表板內(nèi)容。
這是有道理的,因?yàn)槁酚善鲗⒃趓outer-outlet. 但是您的登錄組件不是加載到router-outlet.
在這種情況下,您將創(chuàng)建一個(gè)包含以下內(nèi)容的 LoginComponent:
<div class="bg">
<div class="container">
<div class="row">
<div class='col-md-3'></div>
<div class="col-md-6">
<div class="login-box well">
<legend>Sign In</legend>
<div class="form-group">
<input id="username-email" placeholder="E-mail or Username" type="text" [(ngModel)]="username" class="form-control" />
</div>
<div class="form-group">
<input id="password" placeholder="Password" type="text" class="form-control" [(ngModel)]="password" />
</div>
<div class="input-group">
<div class="checkbox">
<label>
<input id="login-remember" type="checkbox" name="remember" [(ngModel)]="remember"> Remember me
</label>
</div>
</div>
<div class="form-group">
<input (click)="loginButtonClick()" id="login_button" class="btn btn-default btn-login-submit btn-block m-t-md" value="Login" />
</div>
<span class='text-center'><a href="/resetting/request" class="text-sm">Forgot Password?</a></span>
</div>
</div>
<div class='col-md-3'></div>
</div>
</div>
</div>
然后你的 RouterConfig 看起來(lái)像這樣:
const routes: Routes = [{
path: "dashboard",
component: DashboardComponent,
canActivate: [CanActivateDashboard], // This is a guard that you'll have to add
},
{
path: "login",
component: LoginComponent
},
{
path: "**",
component: PageNotFoundComponent
}
]
@NgModule({
imports: [RouterModule.forRoot(routes, {
onSameUrlNavigation: 'reload'
})],
exports: [RouterModule]
})
export class AppRoutingModule {}
export const routingComponents = [DashboardComponent, PageNotFoundComponent]
默認(rèn)情況下,您將加載/login路由,您的用戶將通過(guò)該路由在視圖中看到 LoginComponent 的內(nèi)容。由于現(xiàn)在將使用 Router 加載它,并且內(nèi)容將加載到 上<router-outlet>,因此一旦用戶導(dǎo)航到路由,只會(huì)DashboardComponent將內(nèi)容加載到 上。<router-outlet>/dashboard
PS:請(qǐng)注意,未經(jīng)授權(quán)的用戶應(yīng)該無(wú)法直接導(dǎo)航到/dashboard. 因此,您還必須創(chuàng)建一個(gè)Guard以防止這種情況發(fā)生。
- 1 回答
- 0 關(guān)注
- 139 瀏覽
添加回答
舉報(bào)