Отображение данных в модальном угловом

У меня проблема, я пытаюсь разработать кнопку редактирования для formGroup, которая сначала сохраняется, но когда вы нажимаете кнопку рядом с ней, откроется модальное окно с теми же данными, вы можете его отредактировать.

Но я получаю эту ошибку и не могу ее решить. Надеюсь, кто-то здесь может мне помочь.

ОШИБКА TypeError: невозможно прочитать свойство startDate из undefined

Ps: код, вероятно, не будет работать как фрагмент, но это был лучший способ разместить здесь свой код.

import { Component, OnInit } from '@angular/core';
import {FormBuilder, FormGroup} from "@angular/forms";

@Component({
  selector: 'app-project-information-detail-edit',
  templateUrl: './project-information-detail-edit.component.html',

})
export class ProjectInformationDetailEditComponent implements OnInit {

    detailForm : FormGroup;
    constructor(private fb: FormBuilder) { }

    ngOnInit() {
        this.detailForm = this.fb.group({
            name: [''],
            phone: [''],
            startDate: [''],
            email: [''],


        });




    }

}
<form [formGroup]="detailForm">
  <div class="col-sm-6">
    <h1><span class="semi-bold">{{selectedProject.name}}</span>

      <br>
      <small *ngIf="selectedProject.startDate">
        {{selectedProject.startDate}}
      </small>
      <ng-template #noStartdate>
        <span>Nicht gesetzt</span>
      </ng-template>
    </h1>
    <ul class="list-unstyled">
      <li>
        <p class="text-muted">
          <i class="fa fa-phone"></i>&#xA0;&#xA0;
          <span *ngIf="selectedProject.phone">
                    <a href="tel:{{selectedProject.phone}}">{{selectedProject.phone}}</a>
                                                                </span>
          <ng-template #noPhoneTemplate>
            <span>Nicht verfügbar</span>
          </ng-template>
        </p>
      </li>


      <li>
        <p class="text-muted">
          <i class="fa fa-envelope"></i>&#xA0;&#xA0;
          <a *ngIf="selectedProject.email"
             href="mailto:{{selectedProject.email}}">{{selectedProject.email}}</a>
          <ng-template #noPhoneTemplate>
            <span>Nicht verfügbar</span>
          </ng-template>
        </p>
      </li>
    </ul>
  </div>
</form>
ERROR TypeError: Cannot read property 'startDate' of undefined
at Object.eval [as updateDirectives] (ProjectInformationDetailEditComponent.html:9)
at Object.debugUpdateDirectives [as updateDirectives] (core.js:14655)
at checkAndUpdateView (core.js:13802)
at callViewAction (core.js:14153)
at execComponentViewsAction (core.js:14085)
at checkAndUpdateView (core.js:13808)
at callWithDebugContext (core.js:15056)
at Object.debugCheckAndUpdateView [as checkAndUpdateView] (core.js:14593)
at ViewRef_.detectChanges (core.js:11577)
at eval (core.js:5907)

введите код сюда

selectedProject - это информация о данных, на которую мы смотрим, у нас есть разные типы проектов

Hasan Toraman 10.08.2018 15:56
0
1
23
1

Ответы 1

Хотя вы не определили selectedProject, и я предполагаю, что вы забыли добавить его в свой пример кода (иначе сначала у вас должна была бы появиться ошибка на name)

изменить эту строку

 <small *ngIf="selectedProject.startDate">

к

 <small *ngIf="selectedProject?.startDate"> 

или

 <small *ngIf="selectedProject && selectedProject.startDate"> 

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