【发布时间】:2017-10-22 01:38:16
【问题描述】:
我的主题都完美运行,但由于某种原因,我的 mat-menu 只会在调用默认值时获得主题,否则不会。
所以为了不破坏它的主题,我必须打电话
@include angular-material-theme($dark-theme);
就在我的 style.scss 的顶部,然后有我设置的自定义类,我的灯光默认加载,如下所示:
import {OverlayContainer} from "@angular/cdk/overlay";
@Component({
selector: 'app-navbar',
templateUrl: './navbar.component.html',
styleUrls: ['./navbar.component.scss']
})
export class NavbarComponent implements OnInit, AfterViewInit {
title:string = "Callum.Tech";
themeClass: string = "light-theme";
overlay;
constructor(
private overlayContainer: OverlayContainer
) {
this.overlay = overlayContainer;
}
setDarkTheme(): void {
this.themeClass = "dark-theme";
}
setLightTheme(): void {
this.themeClass = "light-theme";
}
ngOnInit() {
this.overlay.themeClass = this.themeClass;
}
}
其他一切都将重新主题并正常工作,而无需调用我提到的 start 包括,但 mat-menu 会抛出一个合适的,并且只使用它在站点启动时提供的第一个主题,并且不会随着主题的其余部分而改变。
这是在 styles.scss 开头调用的深色主题和正常加载的浅色主题的样子
这里是选择的暗色主题,但是在styles.scss开头没有调用暗色主题:
【问题讨论】:
-
您使用的是哪个版本的 Angular Material?最新版本发生了重大变化。
-
我相信我使用的是最新版本,我应该暂时降级吗?为此,我只需使用 npm 卸载软件包,然后再次安装,但在安装行 cmd 中设置版本?
-
你能试试运行
npm ls @angular/material吗? -
为了清楚起见,这是整个结果; i.imgur.com/CGuVdaL.png 但材料本身的实际版本列为
@angular/material@2.0.0-beta.12
标签: css angular typescript angular-material2