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
}