2016-06-08 99 views
1

我試圖從@Input()tweets獲得isActivated。但是,當我想將isActivated存儲到變量中時,會出現此錯誤:Tweet未定義。這是我的代碼:(對不起我的英文)@Input()在Angular 2中未定義的值

export class SingleTweetComponent { 
    @Input() tweet; 
    isActivated = tweet.isActivated; 
    likeButton($event){ 
     this.tweet.totalLikes = this.tweet.totalLikes - 1; 
    } 
} 

回答

2

因爲tweet在您嘗試使用它時沒有定義。在計算屬性時,您還沒有輸入數據

爲了解決這個問題,你可以把它在OnInit鉤組件的:

export class SingleTweetComponent { 
    @Input() tweet; 

    ngOnInit() { 
     this.isActivated = this.tweet.isActivated; 
    } 

    likeButton($event) { 
     this.tweet.totalLikes = this.tweet.totalLikes - 1; 
    } 
}