【发布时间】:2021-07-03 14:32:33
【问题描述】:
我有标题菜单组件,可以使用
注意:这是我关于stackoverflow的第一个问题,如果缺少什么请告诉我,提前谢谢!
这里是 stackblitz 链接: https://stackblitz.com/edit/angular-ivy-41hhqz?file=src%2Fapp%2Fapp.module.ts
app.module.ts
@NgModule({
declarations: [
AppComponent,
HomepageComponent,
MostPopularComponent,
AllPostsComponent,
FooterComponent,
HeaderMenuComponent,
DetailsComponent,
PhotoViewerDialogComponent
],
imports: [
BrowserModule,
AppRoutingModule,
HttpClientModule,
MaterialModule,
BrowserAnimationsModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
header-menu.component.html
<div class="header__menu-bar container">
<ul>
<li [routerLink]="['']" routerLinkActive="active-link" [routerLinkActiveOptions]="{ exact: true }">Home</li>
<li [routerLink]="['../all-posts']" routerLinkActive="active-link">All Posts</li>
<li [routerLink]="['../most-popular']" routerLinkActive="active-link" >Most Popular</li>
<li (click)="onClickContactMe()">Contact Me</li>
</ul>
</div>
header-menu.component.ts
export class HeaderMenuComponent implements OnInit {
private _transparentMenu: boolean;
colorDarkBlueMenu = 'rgba(29, 60, 69, .75)';
colorDarkBlue = 'rgba(29, 60, 69)';
get transparentMenu(): boolean {
return this._transparentMenu;
}
@Input()
set transparentMenu(value: boolean) {
this._transparentMenu = value;
const homeMenuBar = document.querySelector('.header__menu-bar') as HTMLElement;
if (value === true) {
homeMenuBar.style.backgroundColor = this.colorDarkBlueMenu;
homeMenuBar.style.position = 'absolute';
} else {
homeMenuBar.style.backgroundColor = this.colorDarkBlue;
homeMenuBar.style.position = 'relative';
}
}
constructor() {
this._transparentMenu = true;
}
ngOnInit(): void {
}
}
【问题讨论】:
-
欢迎来到 SO!如果您可以在 stackblitz (或类似的)上重新创建它并在此处分享它会更容易提供帮助。
-
嗨@Phalgun 我已经编辑了我的帖子并为其添加了一个stackblitz链接。请查收,谢谢!
标签: javascript html css angular angular-material