[英]On routerLinkActive="active" change the color of child mat-icon inside button
我的网页上有一个带有项目列表的标题,每个项目都有一个垫子图标子项。 以下是其中一项。
<a [routerLink]="[ '/admin' ]" >
<button routerLink="['/admin']" routerLinkActive="active">
<mat-icon color="warn">history</mat-icon>Audit
</button>
</a>
routerLinkActive="active"
上的 CSS 在按钮文本上工作正常,但我也想更改 mat-icon 的颜色,但似乎没有任何效果
最简单的方法是在你的 CSS 中添加它——可能最好的方法是全局添加它:
.active .mat-icon{
color: inherit;
}
RouterLinkActive
将一个变量导出到模板,并有一个属性告诉您当前的活动状态。
https://angular.io/api/router/RouterLinkActive#properties
<button routerLink="['/admin']" routerLinkActive="active" #rla="routerLinkActive">
<mat-icon [color]="rla.isActive && 'warn'">history</mat-icon>Audit
</button>
如果routerLinkActive
的属性isActive
为true ,则上面将设置颜色以warn
。
看看这个答案,你可以做这样的事情
<a [routerLink]="[ '/admin' ]" >
<button routerLink="['/admin']" routerLinkActive="active" #rla="routerLinkActive">
<mat-icon [ngClass]="{'color': rla.isActive ? 'warn' : 'primary'}">history</mat-icon>Audit
</button>
</a>
或这个
<a [routerLink]="[ '/admin' ]" >
<button routerLink="['/admin']" routerLinkActive="active" #rla="routerLinkActive">
<mat-icon [ngStyle]="{'color': rla.isActive ? 'warn' : 'primary'}">history</mat-icon>Audit
</button>
</a>
请注意,这些答案未经测试
<li>
<a routerLink="/Clients" routerLinkActive="active">
<span class="menu_icon"><i class="material-icons">group</i></span>
<span class="menu_title">Clients</span>
</a>
</li>
> add this sytle in global css
.active i {
color: #28A745;
}
.active span {
color: #28A745;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.