我有一個帶有2個按鈕的導航欄。我只希望顯示其他頁面的按鈕並禁用當前頁面的按鈕。Angular 2 * ng如果不對模型更改重新評估
打開設置頁面時,隱藏設置按鈕。當我點擊配置文件按鈕時,它不會禁用,並且不會顯示設置按鈕。
下面是組件類代碼:
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是正確的,你有一個額外的報價。但是,如果這只是代碼結束時的類型,那麼可能有另一種解決方案。你可以嘗試在你的AngularJS類中調用一個返回它的值的函數,如下所示:'return this.isSettingsHome;' – Jwags
'if(button =「settings」)'should'if(button ===「settings」) '。 –