2016-07-19 168 views
0

我剛開始學習Angular2,並且我遇到了ngfor問題。 這是我的代碼:問題與ngFor- Angular2

import { Component } from '@angular/core'; 
import {Person} from "./Person"; 


     @Component({ 
     selector: 'my-app', 
     moduleId: module.id, 
     templateUrl: 'app.component.html' 
     }) 


    export class AppComponent { 
     public title = 'Telphone-books'; 
     public persons=PERSONS; 
    } 

    const PERSONS: Person[] = [ 
     {id:1, Name:'Shai', LastName:'Sastiel', Telphone: '999999'}, 
     {id:2, Name:'Jon', LastName:'ali', Telphone: '888888'}, 
     {id:3, Name:'zeav', LastName:'jobs', Telphone: '7777777'}, 
     {id:4, Name:'byson', LastName:'ffaf', Telphone: '6666666'} 

    ]; 

這是我app.component.html:

<h1>{{title}}</h1> 
<ul> 
    <li *ngFor="let person of PERSONS"> 
    {{persons.Name}} 
    </li> 
</ul> 
當我運行這段代碼我只看到標題,但我沒有看到人的陣列

。 我是不是寫了ngfor的權利?也許我想念什麼? 感謝您的幫助!

+1

也許一個錯字?將「{{persons.Name}}」更改爲「{{person.Name}}」 - 控制檯中的任何錯誤? – rinukkusu

回答

3

綁定表達式只能引用組件實例的成員,而不能引用任意全局的東西。

您需要參考屬性的組件實例,而不是全局變量:

<h1>{{title}}</h1> 
<ul> 
    <li *ngFor="let person of persons"> 
    {{person.Name}} 
    </li> 
</ul> 

由@rinukkusu提到{{persons.Name}}應該{{person.Name}}