【发布时间】:2018-10-05 08:12:18
【问题描述】:
开始学习 Angular 5 并坚持使用 ngClass 指令。我正在尝试根据条件应用多个类,但不知何故只应用了 1/2 个类。
mainnav.component.html
<nav class="navbar navbar-expand-lg fixed-top"
[ngClass]="{
'navbar-dark bg-dark' : themeColor === 'dark',
'navbar-dark bg-primary' : themeColor === 'blue',
'navbar-light bg-light' : themeColor === 'light'
}">
...
...
<li class="nav-item">
<form class="form-inline my-2 my-lg-0">
<input class="form-control mr-sm-2" type="search" placeholder="Search" aria-label="Search" (keyup)="onButtonClicked($event)">
<button class="btn btn-outline-success my-2 my-sm-0" [disabled]="!allowSearch" type="submit">Search</button>
</form>
</li>
<li class="nav-item dropdown" (mouseover)="openDropDown($event)">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Change Theme
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
<a class="dropdown-item" href="#" (click)="enableDarkTheme()">Dark</a>
<a class="dropdown-item" href="#" (click)="enableLightTheme()">Light</a>
<a class="dropdown-item" href="#" (click)="enableBlueTheme()">Blue</a>
</div>
</li>
mainnav.component.ts
themeColor: string = 'dark';
enableDarkTheme() {
this.themeColor = 'dark';
}
enableLightTheme() {
this.themeColor = 'light';
}
enableBlueTheme() {
this.themeColor = 'blue';
}
条件似乎运行良好,但我不确定为什么没有添加一个类,如下面的屏幕截图所示,
有人知道我对ngClass 的使用是否有误吗?
【问题讨论】:
标签: html typescript angular5