Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 离子2号正在装载过时的组件_Javascript_Android_Angular_Ionic Framework_Ionic2 - Fatal编程技术网

Javascript 离子2号正在装载过时的组件

Javascript 离子2号正在装载过时的组件,javascript,android,angular,ionic-framework,ionic2,Javascript,Android,Angular,Ionic Framework,Ionic2,这是我的页脚组件。我从页脚栏调用了几页,如下所示。当我单击页脚时,它正在加载过时的组件。我调试了它,发现它没有调用组件的构造函数(在这里我有刷新数据的加载逻辑)。我必须在页脚上单击两次才能调用组件以获取正确的数据 tab-footer.component.html <ion-tabs> <ion-tab [root]="home" tabIcon="md-home" [rootParams]="homeparams"></ion-tab>

这是我的页脚组件。我从页脚栏调用了几页,如下所示。当我单击页脚时,它正在加载过时的组件。我调试了它,发现它没有调用组件的构造函数(在这里我有刷新数据的加载逻辑)。我必须在页脚上单击两次才能调用组件以获取正确的数据

tab-footer.component.html

  <ion-tabs>
    <ion-tab [root]="home" tabIcon="md-home" 
   [rootParams]="homeparams"></ion-tab>
     <ion-tab [root]="alertsPage" tabIcon="md-notifications-outline">
    </iontab>
   <ion-tab [root]="flagged" tabIcon="flag"></ion-tab>
  </ion-tabs>


  @Component({
   selector: 'app-tab-footer',
   templateUrl: './tab-footer.component.html',
  styleUrls: ['./tab-footer.component.scss']
  })
  export class TabFooterComponent {

  home = HomeComponent;
  alertsPage = AlertsComponent;
  flagged = FlaggedComponent;
  homeparams: any;

  constructor(public navparam: NavParams) {
    this.homeparams = navparam;
   }

 }
有人能帮忙找出为什么它不是每次都调用构造函数吗? 我是否指定了一些属性以重新加载它?
谢谢

将生命周期事件
IONVIEWDIENTER
ionViewWillEnter
添加到
FlaggedComponent
类中,并将更新或加载逻辑从构造函数移到这些方法之一

IonViewDiCenter(){
console.log(“页面已进入”);
}
ionViewWillEnter(){
log('页面即将进入');
}
IonViewDiCenter在页面完全进入并且现在是活动页面时调用。 无论是第一次加载还是缓存页面,都将触发此事件

当页面即将进入并成为活动页面时,ionViewWillEnter被调用


参考资料:

TabFooter组件如何触发导航?这些信息不足以重现您的问题。您可以包含一个完整的最小示例,或者更好地确定事件。我将使用导航触发器@nipuna777更新问题
  @Component({
 selector: 'app-flagged',
 templateUrl: './flagged.component.html',
  styleUrls: ['./flagged.component.scss']
})
export class FlaggedComponent {

    someData1: any;
    someData:any[] = [];

    someObj = {}

 constructor(public someService: SomeServiceService,
     public exampleService: ExampleService,
     public navParams: NavParams,
     public navCtrl: NavController) {

   // some loading logic
   }