Dies ist meine Fußzeile Komponente. Ich rufe einige Seiten von der Fußzeile wie folgt auf. Wenn ich auf die Fußzeile klicke, wird die veraltete Komponente geladen. Ich debuggte es und fand heraus, dass es nicht den Konstruktor der Komponente aufruft (wo ich die Ladelogik habe, um die Daten zu aktualisieren). Ich habe zweimal aus der Fußzeile klicken, um die Komponente aufrufen, um die korrekten Daten zu erhaltenIonic 2 lädt die veraltete Komponente
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;
}
}
Hier ist meine eine der Komponenten, die von Fußzeile aufgerufen wird
@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
}
Kann mir jemand helfen, warum es herauszufinden, ruft Konstruktor nicht jedes Mal auf? Muss ich eine Eigenschaft angeben, um sie frisch zu laden? Danke
Wie die Navigation durch das TabFooterComponent ausgelöst wird? – nipuna777
Dies ist nicht genug Informationen, um Ihr Problem zu reproduzieren. Kannst du entweder ein komplettes minimales Beispiel oder Event besser in ein [stackblitz] (https://stackblitz.com/) –
übernehmen? Ich werde –