Ionic 3 *ngIf 不更新视图
Ionic 3 *ngIf doesn't update the view
我正在使用 Ionic 3。我更改了组件中变量的值,但页面视图未更新。
我看过类似问题的答案,但我没有重新解决问题。
我的代码。
Home.html
<div *ngIf="getLoading()" text-center>
<img src="http://spcdn1.whichairline.com/1c40c0f0542d7227719eccd99bd71fd172d36e0a/images/loaders/loader-search.gif">
<h1><span>Loading...</span></h1></div>
<component-myList></component-myList>
home.ts
constructor(
public navCtrl: NavController,
public myList: myListComponent) {}
public getLoading() {
return this.myList.loading;
}
myList.ts
@Component({
selector: 'component-myList',
templateUrl: 'myList.html'
})
export class myListComponent {
public loading: boolean = false;
constructor() {}
putLoading() {
this.loading = !this.loading;
console.log(this.loading);
}
}
myList.html
<button color="secondary" (click)="putLoading()" ion-button right>Put Loading</button>
我点击按钮但没有任何反应...尽管我确实看到加载值发生了变化。
有什么想法吗?
感谢 Mahesh Jadhav,我终于用事件解决了它...
我在家的构造函数中创建了:
events.subscribe ('update', loading => {
this.loadingLocal = loading;
});
在组件的构造函数中:
events.publish ("update", this.loading, 1);
每次修改组件中的load值,调用事件:
events.publish ("update", this.loading, 1);
于是页面发现并再次呈现...
我正在使用 Ionic 3。我更改了组件中变量的值,但页面视图未更新。
我看过类似问题的答案,但我没有重新解决问题。
我的代码。
Home.html
<div *ngIf="getLoading()" text-center>
<img src="http://spcdn1.whichairline.com/1c40c0f0542d7227719eccd99bd71fd172d36e0a/images/loaders/loader-search.gif">
<h1><span>Loading...</span></h1></div>
<component-myList></component-myList>
home.ts
constructor(
public navCtrl: NavController,
public myList: myListComponent) {}
public getLoading() {
return this.myList.loading;
}
myList.ts
@Component({
selector: 'component-myList',
templateUrl: 'myList.html'
})
export class myListComponent {
public loading: boolean = false;
constructor() {}
putLoading() {
this.loading = !this.loading;
console.log(this.loading);
}
}
myList.html
<button color="secondary" (click)="putLoading()" ion-button right>Put Loading</button>
我点击按钮但没有任何反应...尽管我确实看到加载值发生了变化。
有什么想法吗?
感谢 Mahesh Jadhav,我终于用事件解决了它...
我在家的构造函数中创建了:
events.subscribe ('update', loading => {
this.loadingLocal = loading;
});
在组件的构造函数中:
events.publish ("update", this.loading, 1);
每次修改组件中的load值,调用事件:
events.publish ("update", this.loading, 1);
于是页面发现并再次呈现...