【发布时间】:2018-01-15 00:07:45
【问题描述】:
Angular 新手,所以请多多包涵(如果这很明显,请指点我相应的文档文章)
基本上,我网站的结构(所有页面)是这样的:
导航(主页、关于、资源、联系人)
header-div
内容
页脚
我想要它,以便您单击的任何链接都会更改 header-div 的内容;现在我将从更改背景颜色开始。比如首页的header是蓝色的,about是红色的,resources是绿色的,contact是黄色的。
我开始做但被卡住的是通过使用方法直接操纵样式并单击链接上的侦听器
如何根据点击的链接将类附加到 div?
这是我的 app.component.ts
import { Component } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
@Component({
selector: 'app-root',
template: `
<div class="app-nav">
<nav class="set-margin">
<ul>
<li><a routerLink="/" routerLinkActive="active" (click)="showStyle = !showStyle">Home</a></li>
<li><a routerLink="/about" routerLinkActive="active">About</a></li>
<li><a routerLink="/resources" routerLinkActive="active">Resources</a></li>
<li><a routerLink="/contact" routerLinkActive="active">Contact</a></li>
</ul>
</nav>
</div>
<div [ngStyle]="getHeaderStyle()" class="app-mainheader">
<div class="app-mainheader__content set-margin">
this is the header for the
</div>
</div>
<router-outlet></router-outlet>
<app-footer></app-footer>
`,
styleUrls: ['./app.component.scss']
})
export class AppComponent {
showStyle = false;
getHeaderStyle() {
// ???
}
}
【问题讨论】:
-
你应该在你的 app.component.ts 上使用“ActivatedRoute”。
标签: javascript css angular