我只想在某些路由上显示sidebar
组件,例如在分配Home-comp
的路由上,而不是在Login-
和Register-comp
路由上。
到目前为止我的家乡。看上去:
app-root
看起来像:
<app-navbar></app-navbar>
<div class="container-fluid">
<div class="row">
<div class="col-md-9">
<router-outlet></router-outlet>
</div>
<div class="col-md-3">
</div>
</div>
</div>
显然,我使用的是引导网格系统。我尝试使用/deep/
选择器来更改Logincomp中的应用程序根样式。就像这样:
/deep/ app-root .container-fluid .row .col-md-9 {
flex: 0 0 100%;
min-width: 100%;
}
它确实改变了背景宽度,但也适用于家庭通信。再来一次。这显然是我不想要的。我的路由模块看起来像:
import {NgModule} from '@angular/core';
import {RouterModule, Routes} from '@angular/router';
import {HomeComponent} from './home/home.component';
import {LoginComponent} from '../enter/login/login.component';
import {RegisterComponent} from '../enter/register/register.component';
const routes: Routes = [
{path: '', component: HomeComponent},
{path: 'home', component: HomeComponent},
{path: 'login', component: LoginComponent},
{path: 'register', component: RegisterComponent},
{path: '**', redirectTo: 'home'}
];
@NgModule({
imports: [RouterModule.forRoot(routes,
{ enableTracing: true })],
exports: [RouterModule]
})
export class AppRoutingModule {
}
我的一切。现在都是假的。意味着他们只会出现,比如<h3>Login works</h3>
发布于 2018-07-03 13:51:19
CSS不是显示或不显示单个组件的正确方式,因为它们仍然会被加载等等。
您应该发布更多的代码;没有这些代码,我只能建议要么重构您的home
组件以包含sidebar
组件,要么使用多个router-outlet
--任何更适合您的应用程序。
https://stackoverflow.com/questions/51156210
复制相似问题