Не удается прочитать свойство undefined, директива *ngIf, Angular 8

#angular #typescript #angular8

#angular #typescript #angular8

Вопрос:

Я использую этот код для использования служебных данных и сохранения их информации в переменной:

 dataUser: any;

  constructor(private userService: UserService, private router: Router, private modalService: NgbModal) {
    this.userService.getUserData(this.formPhotoProfile.value).subscribe((data: any) => {
      this.dataUser = data;
    });
  }
 

Когда я использую переменную ‘dataUser’ для получения значения изображения, это работает, проблема в том, что когда я использую переменную с директивой * ngIf, появляется эта ошибка: невозможно прочитать свойство ‘imageOne’ неопределенного

 <img *ngIf="dataUser.imageONE" id="imagen-one" [src]="dataUser.imageONE">
 

введите описание изображения здесь

Комментарии:

1. попробуйте добавить это: «dataUser? .imageOne» также в качестве хорошей практики добавьте его в контейнер, подобный div, затем в условное и внутри этого div или ngContainer добавьте изображение

Ответ №1:

вы можете попробовать эти варианты (добавлен ответ, который bc не смог отредактировать комментарий):

Opt1:

 <div *ngIf="userData?.imageOne">
    <img [src]="userData?.imageOne"/>
</div>
 

Opt2:

 <ng-container *ngIf="userData?.imageOne">
    <img [src]="userData?.imageOne"/>
</ng-container>
 

Opt3:

 <img [src]="userData?.imageOne"/>
 

https://stackblitz.com/edit/angular-ivy-4nubup