如何在离子2中刷新页面或刷新ngOnInit()

时间:2017-04-03 06:01:50

标签: angular ionic2 refresh page-refresh buttonclick

我想知道是否有办法刷新ngOnInit()函数或刷新组件。我不想使用pull to refresh方法。我想按下按钮或点按它。谢谢

home.ts文件

  checkNetwork() {
  console.log("check internet");
this.platform.ready().then(() => {
  if(this.network.type == "none"){
    this.shouldHide = false;
    this.dividerHide = true;
  }
    let alert = this.alertCtrl.create({
        title: "Connection Status",
        subTitle: <string> this.network.type,
        buttons: ["OK"]
    });
  alert.present();
});
}

home.html文件

<ion-card [hidden]="shouldHide">
<ion-card-header>
  <img src="img/sad.png" />
</ion-card-header>
<ion-card-content>
  <ion-card-title style="text-align:center">
    No INTERNET!
  </ion-card-title>
  <button ion-button full (click)="refreshPage($event)">Retry</button>
</ion-card-content>

当连接可用时,我希望页面刷新

4 个答案:

答案 0 :(得分:4)

谢谢大家,这就是我管理它的方式

home.ts文件

ngOnInit(){
 this.LoadData();}


checkNetwork() {
  console.log("check internet");
this.platform.ready().then(() => {
  if(this.network.type == "none"){
    this.shouldHide = false;
    this.dividerHide = true;
  }else{
    this.shouldHide = true;
    this.dividerHide = false;
    this.presentLoading()
  }
});
}

refreshPage()
  {this.LoadData();
}

public LoadData(){...}

Home.html文件

<ion-card [hidden]="shouldHide">
<ion-card-header>
  <img src="img/sad.png" />
</ion-card-header>
<ion-card-content>
  <ion-card-title style="text-align:center">
    Pas de connexion internet!
  </ion-card-title>
  <button ion-button full (click)="refreshPage()">Reessayer</button>
</ion-card-content>

答案 1 :(得分:0)

使用此代码

refreshPage() {
   this.navCtrl.setRoot(this.navCtrl.getActive().component);
}

答案 2 :(得分:0)

您可以通过调用ngOnInit()重新初始化页面: this.ngOnInit();

答案 3 :(得分:-1)

您可能需要使用init方法或Rx的订阅来重构您的代码结构,以便它不需要页面刷新。

如果您需要重新加载页面,为什么不使用重新加载方法?

&#13;
&#13;
x
&#13;
&#13;
&#13;

编辑:

您使用的是network.onConnect订阅吗?

&#13;
&#13;
window.location.reload();
&#13;
&#13;
&#13;