在app.component(应用程序的主要原因之一),我有:如何从每个子组件中设置父组件中的元素类?
<div id="wrapper">
<!-- Header
================================================== -->
<header class="transparent sticky-header full-width">
.
.
.
<div class='container-fluid'>
<div class='row'>
<div class='col-sm-3'>
<nav-menu></nav-menu>
</div>
<div class='col-sm-9 body-content'>
<flash-messages></flash-messages>
<ng2-toasty></ng2-toasty>
<router-outlet></router-outlet>
</div>
</div>
</div>
.
.
.
我想标题,以保持“透明”类只在home.component。在所有其他组件上,我想保留其他两个类,而不是“透明”。
应该更好说明组件结构可以在下面的图片中可以看出一个层次:
所以,家庭成分是不是父母,但app.component是父。 home.component和其他人一样是一个孩子。
app.component.ts
import { Component, ErrorHandler } from '@angular/core';
import { ToastyService } from "ng2-toasty";
import { AppErrorHandler } from "../../app.error-handler";
import { HomeComponent } from "../home/home.component";
import { ActivatedRoute, Router } from "@angular/router";
@Component({
selector: 'app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css'],
providers: [
HomeComponent,
ToastyService,
{ provide: ErrorHandler, useClass: AppErrorHandler }
]
})
export class AppComponent {
classes: string;
constructor(private home: HomeComponent, private route: ActivatedRoute,
private router: Router) {
//this.classes = false;
//if (this.router.url ==='/home')
//{
// this.classes = true;
//}
this.classes = "transparent sticky- header full- width";
}
}
我试图做一个变量类,并与ngClass通过它,但它不工作。
我已经搜索了解决方案,我发现的所有解决方案均基于事件。
多一点信息会有帮助。你的其他组件是这个家庭组件的子组件(通过它们的选择器嵌入到家庭组件中)还是子路由(家庭组件包含儿童的路由器插座)还是组件根本不相关? – DeborahK
所有组件都具有app.component的标头。如果我在home.component上,而不是在其他组件上,我希望这个头文件具有“透明”类。家庭组件与其他组件无关。 –
我会立即更新以提供更多信息 –