我收到此错误“ ERROR错误:尝试区分'true'时出错。仅允许数组和可迭代对象”

问题描述 投票:0回答:2

[试图以角度显示从ts到Html模板的数据,但我收到此错误“ ERROR错误:尝试区分'true'时出错。仅允许数组和可迭代对象”]

我认为这是在告诉我,我传递的数据不是数组!如果你们有一个解决方法的想法,您的帮助将不胜感激

看看我的代码

public products: any =[];
  constructor(  public navCtrl: NavController, 
                public http: HttpClient, 
                public nativeHttp:HTTP, 
                public plt:Platform, 
                public loadingCtrl:LoadingController,
                public popoverCtrl: PopoverController
                ) {          
        this.getData();
  }

  async getData(){

    let loading = await this.loadingCtrl.create();
    await loading.present();
    this.http.get('https://gratisgospel.net/APIproducts').pipe(
        finalize(()=> loading.dismiss())
        )
        // .map(response => response.json().data)
        .subscribe(data => {
        console.log('native data',data); 
        this.products = JSON.stringify({data});
         // this.products = Array.of(this.products);
         // this.products = data;

        if (this.products=!'') {
            // code...
            console.log('data are available');

        }

    });

并且在我的HTML中,这是我要使用循环显示数据的文件

<ion-col offset="1" *ngFor="let product of products">
                    <div class="box">
                        <img class="" src="../assets/imgs/air-zoom-pegasus-36-tortoise-shell-womens-running-shoe-ksw5Hx.jpg">
                        <h2 class="ion-text-center">nike Air</h2>
                        <ion-grid>
                            <ion-row>
                                <ion-col offset="1">
                                    <ion-icon name="ios-pricetag" padding></ion-icon>$50
                                </ion-col>
                                <ion-col offset="1">
                                    detail                              
                               </ion-col>
                            </ion-row>
                         </ion-grid>
                        <div>

                        </div>
                    </div>
                </ion-col>

here what i get when console my result

angular ionic3
2个回答
1
投票

谢谢你们,从我的指导中我弄清楚了如何解决我的问题,刚刚创建了一个数组并获得了推送数据,并且解决了繁荣问题!


-1
投票

当您不将数组传递给ngFor指令时,将发生此错误。

请确保您的产品对象是数组类型。

PS-您还可以使用KeyValuePipe遍历对象:https://angular.io/api/common/KeyValuePipe

© www.soinside.com 2019 - 2024. All rights reserved.