Используйте значение @input для другой переменной без oninit в angular 4

Я хочу использовать значение @Input для инициализации другой переменной в angular 4

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

  condition: boolean = (this.id == 'myid') //Getting this.id as undefined
}
2
0
160
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ваш @Input сначала доступен по адресу ngOnInit. Таким образом, вы не можете получить к нему доступ до вызова ngOnInit.

Ответ принят как подходящий

Вы можете использовать переменную id напрямую, как id, вместо this.id внутри самого класса. Вы должны получить доступ к переменной с помощью this только тогда, когда переменная появилась внутри function. Но в конечном итоге это вам не поможет, поскольку значение id всегда будет undefined.

В идеале вы должны использовать это значение внутри ловушки ngOnInit, которая запускается при инициализации компонента, и вы увидите значение, переданное из потребительского компонента.

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

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

Другие вопросы по теме