在角度4中不使用onInit时,将@Input的值用于其他变量

时间:2018-04-11 10:10:23

标签: angular

我想使用@Input值来初始化角度4中的其他变量

export class test {
  @Input() id: string;

  condition: boolean = (this.id == 'myid') //Getting this.id as undefined
}

2 个答案:

答案 0 :(得分:2)

您的@Input首次出现在ngOnInit。因此,在ngOnInit致电之前,您无法访问它。

答案 1 :(得分:2)

您可以在类本身内直接使用id变量,例如id而不是this.id。只有当变量出现在this内时,您才必须使用function访问变量。但最终这对您没有帮助,因为id值始终为undefined

理想情况下,您应该在ngOnInit钩子中使用此值,当组件初始化时会触发该值,您将看到从使用者组件传递的值。

export class test {
  @Input() id: string;
  condition: boolean;

  ngOnInit(){
     this.condition = (this.id == 'myid')
  }
}