* ngFor在angular2 +中没有显示任何数据

时间:2017-12-30 10:59:49

标签: angular

我不知道我的剧本的错误是什么 * ng没有显示任何内容

这是我的剧本

import {ROOMS} from '../data-room';
export class ResultComponent implements OnInit {
  Room = ROOMS; 
  constructor() { }
  ngOnInit(){}}

room.ts

export class Room {
    constructor
    (
        public id_room: number,
        public name_room : string,
        public rating_room : number,
        public price_room : number,
        public lat_lang : string,
        public city : string,
        public country : string,
    ) { }
}

数据room.ts

import { Room } from '../room';

export const ROOMS: Room[] = [
    {
        id_room : 1,
        name_room : 'Name1',
        rating_room : 3,
        price_room : 200000,
        lat_lang : '+123123,7718731',
        city :  'City 1',
        country : 'Country 1'
    },    
   ];

我正在尝试使用这样的ngfor

<h2>ROOM DATA </h2>
      <table>
        <thead>
            <th>Name</th>
            <th>Index</th>
        </thead>
        <tbody>
            <tr *ngFor="let room of rooms">
                <td>{{room.room_name}}</td>
            </tr>
        </tbody>
    </table>

并没有显示任何内容 在检查元素中它说<!--bindings={}--> 我正在尝试使用<ul><li>并且没有任何事情仍然没有显示任何内容

2 个答案:

答案 0 :(得分:3)

最好创建一个变量并在 ngOnInit

内分配房间
rooms : Room[] =[]; 
ngOnInit(){
    this.rooms = Rooms;
}

答案 1 :(得分:0)

您已将Rooms分配给组件的Room属性(Room = ROOMS;),并且您期望rooms变量中的数据。

您可以将Rooms放入rooms变量

来解决此问题
rooms = Rooms;

或使用(虽然第一个建议听起来更好)

<tr *ngFor="let room of Room">