Ionic 5.1:更改页面后不会重新加载sqlite数据库中的数据

时间:2019-06-23 08:37:40

标签: sqlite cordova ionic-framework

  1. 第1页:通过调用getCategories()=>显示来自sqlite的数据(例如:类别列表)=>确定,我继续
    1. 我通过单击按钮(routerlink)进入第2页
    2. 我添加了一个类别,然后通过“ this.router.navigate”或“ navCtrl”(完成相同的结果)返回第1页
    3. 第1页显示的数据与第1点相同,而不显示包含新数据的列表(添加了类别):该页面未调用getCategories()函数

getCategories()在生命周期中挂钩ionViewDidEnter():为什么不再次调用该函数?

我的页面1:

ionViewDidEnter() {
    this.platform.ready().then(() => {
        this.getCategories();
    });
}

getCategories() {
    const categorieSub = this.categorieService.getCategories().subscribe((categories) => {
        this.categorieList = categories;
    },
    error => {
        console.log('error', error);
    });

    this.subscriptions.push(categorieSub);
}

ngOnDestroy() {
    this.subscriptions.forEach((sub) => {
      sub.unsubscribe();
    });
}

第2页:

createForm() {
    if (this.form.valid) {
        const data = this.form.value;

        const postCategorieSub = this.categorieService.postCategorie(data).subscribe((categories) => {
        console.log('categorie added. So go !');
        // this.router.navigate(['/tabs/tab1']);
        this.navCtrl.navigateForward('/tabs/tab1'); // after redirection data are not loaded on page 1 by getCategories()
      },
      err => {
          console.log('error on createForm(),', err);
      });

      this.subscriptions.push(postCategorieSub);
    }
  }

0 个答案:

没有答案