Ionic 3.5 中的视图未更新

View is not updating in Ionic 3.5

我是 Ionic 的新手,我正在使用 Ionic 3.5 和 AngularIO,对于我的情况,问题是在 ajax 调用之后我从服务中获取数据,但视图没有在模拟器中更新.虽然视图在网络版本中得到正确呈现。 这是我的组件和 html

export class HomePage {

  private tagService: TagService;
  public tagData: any;

  constructor(public navCtrl: NavController) {
    this.tagService = new TagService();
    this.loadTags();
  }

  private loadTags() {
    this.tagService.getTagData().then((data)=>{
      this.tagData = data;alert(JSON.stringify(data));
    }, ()=>{
      alert("Error occured");
    });
  }

}

<ion-item *ngFor="let tag of tagData" (click)="tagClicked($event)" class="activity" color="positive" data-item="tag">
        {{tag.name}}
        <ion-icon name="{{tag.icon}}" item-right></ion-icon>
    </ion-item>

服务方法在这里

public getTagData() :Promise<Tag[]> {
        let promise: Promise<Tag[]>;
        promise = new Promise((resolve, reject)=>{
            $.ajax({
                url: "data/tag.data.json",
                success: (data) => {
                    this.tags = data;
                    resolve(this.tags);
                },
                error: () => {
                    reject();
                }
            });
        });
        return promise;
    }

我认为您从 loadTags 函数返回 observable 而不是 promise。在那种情况下订阅事件而不是使用 then

private loadTags() {
    this.tagService.getTagData().subscribe((data) => {
        this.tagData = data;
        alert(JSON.stringify(data));
    }, (error) => {
        alert("Error occured");
    })
}

不要使用 jquery ajax 语法。使用 angular 2 个内置组件

public getTagData(): any {

    return this.http.get("data/tag.data.jso")
}