2017-08-03 65 views
0
export class AppComponent { 

    posts: any[]; 
    requestStream: any; 

    constructor(http: Http){ 
     http.get('https://api.github.com/users') 
     .subscribe( 
     response => { this.posts = response.json(); }); 
    } 
} 

長度和:獲取的可觀測

<div *ngFor="let post of posts"> 
{{ post.login }} 
</div> 
{{ posts.length }} 

的視圖顯示一切良好 - 每一個崗位和崗位的長度(即30)的登錄,但控制檯提供了錯誤:

Cannot read property 'length' of undefined

還有一個問題是,該網址(https://api.github.com/users)實際上包含的記錄數超過30(46)。那麼爲什麼我只能得到30條記錄呢?發生

+0

將safe-nav操作符添加到插值:{{{posts?.length}}'。你怎麼知道你有46個職位?你檢查過網絡標籤嗎? – echonax

+0

啊......對了,忘了貓王操作員......但請檢查我的關注點 - 爲什麼我只能得到30條記錄,而有46條? –

+0

你怎麼知道你有46條記錄? – echonax

回答

2

錯誤的HTTP獲取數據之前,你的帖子值undifined, ,當你把它聲明

posts = []; 

或在你模板,你可以使用

解決這個問題,你需要初始化職位
{{ posts?.length }}