我正在使用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>
我单击按钮但没有任何反应......虽然我确实看到加载值发生了变化。
有什么想法吗?
答案 0 :(得分:0)
感谢Mahesh Jadhav,我终于解决了这个问题......
我在home的构造函数中创建了:
events.subscribe ('update', loading => {
this.loadingLocal = loading;
});
在组件的构造函数中:
events.publish ("update", this.loading, 1);
每次修改组件中的加载值时,我都会调用事件:
events.publish ("update", this.loading, 1);
所以页面找到并再次呈现......