首页 > 解决方案 > 如何在点击时刷新页面(离子 v4)

问题描述

当用户删除数据时尝试刷新页面。页面上的某些Html元素会自动更新,但主应用程序组件会保留旧数据,直到手动刷新页面。

ionViewWillEnter()不再像此示例中所示那样工作:How to refresh page in ionic 4

我尝试ngOnInit()改用,但这没有用。我也尝试过 ChangeDetectorRef,但没有任何乐趣。

打字稿


import { ChangeDetectorRef } from '@angular/core'

public contentId: any;
public content: any;

constructor(private changeRef: ChangeDetectorRef) {
  ...
}

ngOnInit() {
  this.fetchData();
}

fetchData() {
  ...
  this.database.get(contentId).subscribe( content => {
    this.content = content[0];
 });
}

deleteData() {
  this.content.delete(id);
  this.changeRef.detectChanges();
}

html

<app-content *ngIf="contentId" [pageContent]="contentId"></app-content>

数据来自 this.content

{
 id: 'contentId',
 text: 'some text',
 author: 'username',
 uid: 'userId'
}

标签: angularionic-framework

解决方案


尝试ionViewWillEnter

  ionViewWillEnter() {
        this.fetchData();
  }

推荐阅读