Here I'm passing my input value through property binding.
<app-likes [user-details]="likesObj"></app-likes>
Here is my component class. I'm getting my input values in "userdetailsInput". I'm getting username as input. I want to assign that username to my "username :string" property. But It throws undefine.
But on ngOnInit() method I'm getting values.
export class LikesComponent implements OnInit {
    //'userdetailsInput' returns some object like this.{userName: "abc", emailId: "abc@gmail.com", likeCount: 0, likeStatus: false, isActive: false}.
      @Input('user-details') userdetailsInput: likedUserDetails;
    // I want to access values of above objects below. But all the below properties returns undefined
      username :string = this.userdetailsInput.userName;
      emailid :string = this.userdetailsInput.emailId;
      likeCount:number = this.userdetailsInput.likeCount;
      likeStatus:boolean = this.userdetailsInput.likeStatus;
      isActive :boolean = this.userdetailsInput.isActive;
      ngOnInit () {
        console.log(this.userdetailsInput); //this returns successful result.{userName: "abc", emailId: "abc@gmail.com", likeCount: 0, likeStatus: false, isActive: false}
      }
      likeImage (element) { 
        if(this.likeStatus) {
          this.likeCount = this.likeCount - 1;
          this.likeStatus = !this.likeStatus;
          this.isActive = !this.isActive;
        } else {
          this.likeCount = this.likeCount + 1;
          this.likeStatus = !this.likeStatus;
          this.isActive = !this.isActive;
        }
        console.log(`Like Count after changes: ${this.likeCount}`);
        console.log(`Like Status after changes: ${this.likeStatus}`);
      }
    }    
can anyone help me why it is not accessible. I'm new to angular 4.
Here I included error image. Please refer.

 
    