【发布时间】:2018-10-18 07:12:35
【问题描述】:
我在使用“*ngIf”时遇到了问题,显然它什么都不做,但是当离子页面上的某些内容发生变化时,例如,当点击输入或屏幕从纵向变为横向时,键盘会显示变化(隐藏/显示)我做了一个简单的例子:
page.html
<ion-header>
<ion-navbar>
<ion-title>Page</ion-title>
</ion-navbar>
</ion-header>
<ion-content>
<div *ngIf="loadingVisible">
<img src="assets/imgs/example.jpg" alt="">
</div>
<button ion-button (click)='showorhide();'>click to show or hide</button>
</ion-content>
page.ts
import { Component } from '@angular/core';
import { NavController} from 'ionic-angular';
@IonicPage()
@Component({
selector: 'page-new-table',
templateUrl: 'new-table.html',
})
export class NewTablePage {
public loadingVisible:boolean = false;
constructor(public navCtrl: NavController){
}
showorhide(){
this.loadingVisible = this.loadingVisible ? false : true;
console.log(this.loadingVisible);
}
}
我不知道为什么会这样,有什么想法吗? 谢谢!
【问题讨论】:
-
您能否创建stackblitz.com 来展示您的问题?而声明
this.loadingVisible = this.loadingVisible ? false : true;可以简写为this.loadingVisible = !this.loadingVisible -
和变化检测有关,看看这篇文章:alligator.io/angular/change-detection-strategy
-
你可以试试
changeDetectorRef.detectChanges()吗? -
非常感谢@ibenjelloun 和 Jacopo Sciampi,ChangeDetectorRef 成功了!
标签: angular ionic-framework angular-ng-if