按下后退按钮时不会触发ionViewDidEnter方法

时间:2017-06-24 02:00:40

标签: angular typescript ionic-framework ionic2 ionic3

discover.html(离子页面)

 <p>MY TOPICS</p>
      <div class="cardScroll">
        <ng-template ngFor let-topic [ngForOf]="topicdata">
          <topic [data]="topic"></topic>
        </ng-template>
 </div>

discover.ts

@IonicPage()
@Component({
  selector: 'page-discover',
  templateUrl: 'discover.html',
})
export class Discover {

  constructor() {
  }

  ionViewDidEnter() {
    this.GetData();
  }
}

topic.html

   <ion-card (click)="getTopicPage()">

    </ion-card>

topic.ts

import { Component, Input } from '@angular/core';
import { NavController, App } from 'ionic-angular';

@Component({
    selector: 'topic',
    templateUrl: 'topic.html'
})
export class Topic {
    @Input() data;

    constructor(public navCtrl: NavController, public appCtrl: App) {
    }


    getTopicPage() {
        this.appCtrl.getRootNav().push('TopicPage', { data: this.data });
    }

}

主题的page.html中

<ion-content>
 <button ion-button clear (click)='goToBack()'><ion-icon name="arrow-back">
 </ion-icon></button>
</ion-content>

主题的page.ts

@IonicPage()
@Component({
    selector: 'page-topic-page',
    templateUrl: 'topic-page.html',
})
export class TopicPage {

    goToBack(): void {
       this.navCtrl.pop();
     }
}

希望你能看到上面组件的流程。父页面是discover。这里的问题是当我按下topic-page后退按钮时,它永远不会触发discover页面#39; s ionViewDidEnter()方法。你能告诉我怎么做吗?

注意:当我按下后退按钮时,它会转到discover页面。但它永远不会触发ionViewDidEnter()方法。

0 个答案:

没有答案