2016-06-08 146 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; 
    } 
}