如何刷新Ionic页面中的数据?

时间:2019-02-05 02:47:59

标签: angular ionic-framework ionic4

我正在研究Ionic 4,并且试图了解它的基本概念。因此,我目前正在使用的应用程序遇到了问题。

其功能之一是显示用户信息,除两个变量外,其他所有内容均正确显示。 这是我页面.ts的一部分

ngOnInit() {
this.slug = this.route.snapshot.paramMap.get('id');
this.loadData(); }

loadData() {
if (this.dataService.loaded) {
  this.userList = this.dataService.getUserlist(this.slug);
} else {
  this.dataService.load().then(() => {
    this.userList = this.dataService.getUserlist(this.slug);
  });
}}

...

displayActvLvl(): string {

let temp: string;
let val: number;
val = this.userList.actLvlVal;
if (val === 1.2) {
  temp = 'No Active';
} else if (val === 1.375) {
  temp = 'Lightly Act';
} else if (val === 1.55) {
  temp = 'Moderate Active';
} else if (val === 1.75) {
  temp = 'Very Active';
} else if (val === 1.9) {
  temp = 'Athlete';
}
return temp;}

displayGender(): string {
if (this.userList.gender) {
  return 'Female';
} else {
  return 'Male';
} }

这是两个没有显示信息的项目

    <ion-row>
  <ion-col size="6">
    <ion-item text-center>
      <ion-label position="stacked">{{displayGender()}}</ion-label>
      <ion-note>Gender</ion-note>
    </ion-item>
  </ion-col>

  <ion-col size="6">
    <ion-item text-center>
      <ion-label position="stacked">{{displayActvLvl()}}</ion-label>
      <ion-note>Activity Level</ion-note>
    </ion-item>
  </ion-col>
</ion-row>

我知道这个问题,但是我找不到解决办法。据我了解,当从数据服务中加载数据,然后页面被初始化时,这就是两个函数运行但两个项自身不会刷新的时候。有帮助吗?

这是数据服务中的加载功能

load(): Promise<boolean> {
return Promise.resolve(true);

} 编辑: 数据服务中的GetUserList函数

getUserlist(id): UserInfo { return this.userList.find(userinfo => userinfo.id === id);}

1 个答案:

答案 0 :(得分:0)

异步管道与Observables或Promises一起使用。 由于您的功能是同步的,因此从模板html中删除管道可能应该解决此问题?