Нет доступа к значению для элемента управления формы с неопределенным атрибутом имени для ngControl - PullRequest
0 голосов
/ 27 марта 2019

Я создаю Ionic социальное приложение. Вы загружаете картинку в серверную часть Firebase. При переходе на страницу профиля я получаю следующее сообщение об ошибке: Нет доступа к значению для элемента управления формы с неопределенным атрибутом имени.

Таким образом, при загрузке страницы, если URL-адрес для загрузки из firebase отсутствует, она должна вернуть местоположение изображения, чтобы использовать изображение кнопки по умолчанию. Если в firebase есть изображение для фото0, то оно должно использовать этот URL. Модель NG должна динамически изменяться всякий раз, когда пользователь загружает или удаляет изображение. Но когда я загружаю эту страницу, я получаю ошибку доступа без значения. Не уверен, что я здесь делаю не так.

import { Component, OnInit } from '@angular/core';
import { AuthService } from '../../services/user/auth.service';
import { ImageService } from '../../services/image.service';
import { Router } from '@angular/router';
import * as firebase from 'firebase/app';
import { AngularFireAuth } from 'angularfire2/auth';

    public photo0: string;

  
    constructor(private router: Router,
              private authService: AuthService,
              private imageService: ImageService,
              private afAuth: AngularFireAuth) {

      this.afAuth.authState.subscribe(user => {
      this.userId = user.uid
      console.log('constructoruser', this.userId);
      });
              }
  
  ngOnInit() {
          this.firestore.ref(`/Photos/${ this.userId }/`).child('photo0').getDownloadURL().then((url) => {
          this.photo0 = url;
        }).catch((error) => {
          console.log(error.message);
          this.photo0 = 'assets/img/add-an-image.png';
          console.log(this.photo0);
        });
  }
            <div>
                <div [(ngModel)]="photo0">
                    <img src="photo0" (click)="UploadPic0('photo0')"/>
                </div>      
            </div>

Ответы [ 3 ]

0 голосов
/ 27 марта 2019

тег "src" должен получать значение компонента. Вы можете использовать [src]="photo0" или src="{{photo0}}" внутри тега img.

0 голосов
/ 30 марта 2019

Избавился от ошибки, удалив ngModule и просто используя следующее:

            <div>
                <img [src]="photo0" (click)="UploadPic0('photo0')"/>
            </div>   
0 голосов
/ 27 марта 2019

вы можете попробовать с:

    <div>
        <div *ngIf="photo0 != ''">
            <img [src]="photo0" (click)="UploadPic0('photo0')"/>
        </div>      
    </div>
...