Data returning from api call through service to component is an object and seems to need to be an Array for Angular

前端 未结 2 795
死守一世寂寞
死守一世寂寞 2021-01-07 11:22

I have data returned to me that works just fine

working data is

data: Array(16)

Data that is NOT working is like this

2条回答
  •  自闭症患者
    2021-01-07 11:51

    I think you need to set testing = result.data, and iterate through that.

    this.arsSevice.getMenu()
            .subscribe(
                result => {
                    this.testing = result.data; 
    
                })
    

    this will give you access to the array in 'data'

    I tried to change the shape of the data, and this worked for me. Hopefully it works for you...

    var data={
          menu1Items:[{key:"boo", key2:"hoo"}],
          menu2Items:[{key:"boo2", key2:"hoo2"}]
        }
        var tempData:any[]=[];
        for(var key in data){
          if(data.hasOwnProperty(key)){
            tempData.push(data[key]);
          }
        }
        this.data = tempData;
    }
    

    In your template:

    • {{menuItem.key}} / {{ menuItem.key2}}

提交回复
热议问题