Arrays 如何使用*ngFor在响应对象数组数据中填充值

Arrays 如何使用*ngFor在响应对象数组数据中填充值,arrays,angular,spring,typescript,object,Arrays,Angular,Spring,Typescript,Object,我想使用*ngFor.com以角度显示来自后端Api的数据,但数据是作为一个包含大小为10的数组的对象来显示的。这是console.log(hotels)中显示的后端响应的图像 这是我在component.ts文件中编写的角度代码 hotelInfo = []; hotelInfo2 = []; getTopHotelInfo() { const params = []; params.push({code: 'dateType', name

我想使用*ngFor.com以角度显示来自后端Api的数据,但数据是作为一个包含大小为10的数组的对象来显示的。这是
console.log(hotels)中显示的后端响应的图像

这是我在component.ts文件中编写的角度代码

   hotelInfo = [];
   hotelInfo2 = [];

    getTopHotelInfo() {
        const params = [];
        params.push({code: 'dateType', name: 'CHECKIN'});
        params.push({code: 'fromDate', name: '2018-01-01'});
        params.push({code: 'toDate', name: '2019-01-01'});
        params.push({code: 'topN', name: 10});
        this.dashboardServiceHandler.getTopHotelInfo([], params).subscribe(
          hotels => {
            console.log(hotels);
            this.hotelInfo.push(hotels);
            console.log(this.hotelInfo);
            for (let i = 0; i < this.hotelInfo.length; i++) {
                const hotel = this.hotelInfo[i];
                console.log(hotel);
                /// this.hotelInfo2.push(hotels[i]);
                this.hotelInfo2.push({code: hotel.code, name: hotel.name});
                console.log(this.hotelInfo2[i]);
            }
         });
      }
hotelInfo=[];
HotelInfo 2=[];
getTopHotelInfo(){
常量参数=[];
push({code:'dateType',name:'CHECKIN'});
参数推送({代码:'fromDate',名称:'2018-01-01'});
参数push({代码:'toDate',名称:'2019-01-01'});
push({代码:'topN',名称:10});
this.dashboardServiceHandler.GettOpotelInfo([],参数).subscribe(
酒店=>{
控制台日志(酒店);
这个.hotelInfo.push(酒店);
console.log(this.hotelInfo);
for(设i=0;i
这是我在component.html文件中编写的代码

<li *ngFor="let hotel of hotelInfo">
        <div class="c-inbox-widget__item">
          <div class="c-inbox-widget__item__avatar" style="background: #A3A1FB">
            01
          </div>

            <div>
              <span class="c-inbox-widget__item__author">{{hotel.name}}</span>
              <!--<span class="c-inbox-widget__item__text">Canada</span>-->
            </div>

            <div class="c-inbox-widget__item__value">$29,193</div>

        </div>
   </li>

01
{{hotel.name}
$29,193


我如何将这些数据作为一个数组发送到*ngFor

试试这种方法。您的响应是一个对象,它包含一个带有键
responseObj
的数组

getTopHotelInfo() {
        const params = [];
        params.push({code: 'dateType', name: 'CHECKIN'});
        params.push({code: 'fromDate', name: '2018-01-01'});
        params.push({code: 'toDate', name: '2019-01-01'});
        params.push({code: 'topN', name: 10});
        this.dashboardServiceHandler.getTopHotelInfo([], params).subscribe(
          hotels => {
            console.log(hotels);
            this.hotelInfo = hotels.responseObj;
         });
      }
现在在
hotelInfo
上运行ngFor。它应该按照你的回答来工作

例如:

让obj={
答复北京:[
{name:'a'},
{name:'b'},
{name:'c'}
]
};

控制台日志(对象响应bj)您可以使用keyValue管道

  <div *ngFor="let hotel of hotelInfo">
    <div *bgFor="let q of hotel | keyvalue>
           {{q.key}} - {{q.value}}
    </div>
  </div>


hotelInfo和hotelInfo的角色是什么?@Mridul hotelInfo@hotelInfo是数组。我正在尝试将console.log作为数组来获取。为什么要运行循环?您只需要显示响应的结果,而不考虑其大小?它是作为对象来的。在*ngForGreat中只允许使用数组。很乐意帮忙:)。