我開發的版本,這是app.html離子2-3 * ngIf不更新
<ion-menu [content]="content" (ionClose)="menuClosed()(ionOpen)="menuOpened()">
<ion-header>
<ion-toolbar>
<ion-title>Menu</ion-title>
</ion-toolbar>
</ion-header>
<ion-content>
<button menuClose ion-item (click)="toggleHelp()">
<ion-icon item-start name="help-circle"></ion-icon>
<ion-label>Help</ion-label>
</button>
</ion-content>
表示的離子應用3.
我有一個側菜單(切換菜單)視圖
在文件app.component.ts,還有這個功能:
private toggleHelp =() =>{
this.helpClicked = true;
this.homePage.showHelp();
}
在我的主頁,我有expla卡在東西。用戶可以隱藏它,如果用戶打開側邊菜單,他可以點擊按鈕幫助(在側邊菜單上聲明),它會再次顯示該卡。
home.html的樣子:
<ion-header>
<ion-navbar>
<button ion-button menuToggle start>
<ion-icon name="menu"></ion-icon>
</button>
<ion-title>Home</ion-title>
</ion-navbar>
</ion-header>
<ion-content no-padding>
<ion-refresher (ionRefresh)="doRefresh()"></ion-refresher>
<ion-card margin *ngIf="(help_shown == true)" class="card-help">
<span class="button_acknowledgement">
<button ion-button clear color="bluelight" (click)="hideHelp()">I GOT IT</button>
</span>
</ion-card>
</ion-content>
在home.ts
:
export class HomePage {
help_shown = true;
constructor(private platform: Platform, private zone: NgZone) {
}
private hideHelp =() =>{
this.help_shown = false;
console.log("help_shown: "+this.help_shown)
}
public showHelp =() =>{
this.zone.run(() => {
this.help_shown = true;
console.log("help_shown: "+this.help_shown)
});
}
所以,現在,當我在我的按鈕,點擊,該卡將被隱藏(因爲變量help_shown將被改爲false)。當我點擊菜單旁邊的幫助時,變量help_shown將被函數修改(它會通過true,我記錄它,所以我確定它正在工作),但是即使認爲* ngIf應該出現,卡也不會出現做它出現。我嘗試過ngZone,但沒有成功。有人可以幫我嗎? PS:如果我在主頁內創建一個按鈕,這將改變變量help_shown,它也會工作。
你可以試試我說的話:https://ionic-n35gsm.stackblitz.io
只是一個快速提示:這不是一個「angularjs」問題,而是一個「有角度」的問題。 –
好的,對不起。謝謝你 – Junior
你可以試試我在這裏說的:https://ionic-n35gsm.stackblitz.io – Junior