【发布时间】:2016-10-15 08:04:24
【问题描述】:
我有一个带有 2 个按钮的导航栏。我希望只显示其他页面的按钮并禁用当前页面的按钮。
在打开设置页面时,设置按钮是隐藏的。当我单击配置文件按钮时,它不会禁用并且不会出现设置按钮。
这是组件类代码:
export class SettingsComponent implements OnInit {
isSettingsProfile = false;
isSettingsHome = false;
ngOnInit() {
this.isSettingsHome = true;
this.isSettingsProfile = false;
}
OnNavBarClick(button: string) {
if (button = "settings") {
console.log ('setting home true/ profile false')
this.isSettingsHome = true;
this.isSettingsProfile = false;
}
else if (button = "profiles") {
console.log ('setting home false/ profile true')
this.isSettingsProfile = true;
this.isSettingsHome = false;
}
}
还有导航栏html:
<ul class="nav navbar-nav navbar-right">
<li> <a [routerLink]="['/home']" href="#">Home</a></li>
<li *ngIf="!isSettingsHome" class="active"><a [routerLink]="['/settings']" href="#" (click)="OnNavBarClick('settings')">Settings</a></li>
<li *ngIf="!isSettingsProfile"><a [routerLink]="['/settings/profile']" href="#" (click)="OnNavBarClick('profile')">Profile</a></li>
</ul>
有什么建议吗?
【问题讨论】:
-
@GünterZöchbauer 是对的,你有一个额外的报价。但是,如果这只是您带来代码时的 typeo,那么可能还有另一种解决方案。您可以尝试在 AngularJS 类中调用一个返回其值的函数,如下所示:
return this.isSettingsHome; -
if (button = "settings")应该是if (button === "settings")。
标签: typescript angular