ionic:在ionViewWillEnter

时间:2018-10-30 04:23:29

标签: angular ionic-framework ionic3

框架级别
父页面和子页面。
子页面从父页面获取@Input数据。
推送并弹出后,父页面在ionViewWillEnter中设置了变量。
但是,该值不会在子页面中更新。

游乐场
https://stackblitz.com/edit/ionic-bebbdi
请查看有关标签

结构:
父页面控制变量firstAttempt何时使用ionViewWillEnter进行重置。
父级将firstAttempt设置为true
目标是在进入父页面时重置firstAttempt
子页面使用@Input获取父数据。
如果不是firstAttempt,子页面将推送下一页。

希望阅读不会太凌乱。
谢谢您的所有投入

1 个答案:

答案 0 :(得分:0)

请找到解决问题的方法。

在您的About.ts文件中,将变量初始化为firstAttempt: boolean = true;

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

@Component({
  selector: 'page-about',
  templateUrl: 'about.html'
})
export class AboutPage {
  firstAttempt: boolean = true;
  constructor(public navCtrl: NavController) {  }
  ionViewWillEnter() {
    console.log('about page ionViewWillEnter');
    this.firstAttempt = true;
  }
}

已编辑

在您的child.ts文件中

next() {
    alert(this.firstAttempt)
    if (this.firstAttempt) {
      console.log("first attempt");
      this.firstAttempt = false;
    } else {
      console.log(">= second attempt");
      this.navCtrl.push(NextPage);
      this.firstAttempt = true;
    }
  }