我正在使用android {
buildTypes {
getByName("debug") {
configBuildType(this, DEBUG_APP_NAME, DEBUG_APP_VERSION)
}
}
}
fun configBuildType(buildType: com.android.build.gradle.internal.dsl.BuildType, appName: String, appVersion: String) {
buildType.resValue("string", "application_name", appName)
buildType.buildConfigField("String", "APP_VERSION", appVersion)
}
组件。而且我需要这样做,如果菜单中的某些链接处于活动状态,则该按钮也应处于活动状态,即以某种颜色绘制。怎么做?
CreateMap<Source, Destination>.ForMember(x => x.IgnoredProperty, opt => opt.Ignore());
答案 0 :(得分:1)
您可以使用路由器功能isActive
检查路由是否处于活动状态,并声明exactMatch: false
。然后,您将得到一个布尔值,该布尔值说明是否激活了精确的路由“目录”或子目录。由于您的mat-button
不是路由器链接,因此不能使用routerLinkActive
属性。而是使用ngClass
定义CSS类。
HTML:
<button mat-button [matMenuTriggerFor]="menu" [ngClass]={'active': isDirectoryPath()}>
Directories
<mat-icon>expand_more</mat-icon>
</button>
<mat-menu #menu="matMenu">
<button mat-menu-item routerLinkActive="active" routerLink="/directory/teams"
routerLinkActive="color">Teams</button>
<button mat-menu-item routerLinkActive="active" routerLink="/directory/Teams"
routerLinkActive="color">Masters</button>
</mat-menu>
TS:
constructor(private router: Router){}
isDirectoryPath() {
return this.router.isActive('directory', false); // <-- boolean is for exactMatch
}