ОШИБКА TypeError: Невозможно прочитать свойство 'testName' из неопределенного в Object.eval - PullRequest
1 голос
/ 24 сентября 2019

У меня в системе работает angular & spring boot.При маршрутизации на последнюю страницу ожидается составление значений, передаваемых с предыдущего маршрута.Но я получаю сообщение об ошибке:

ОШИБКА TypeError: Невозможно прочитать свойство 'pName' undefined в Object.eval

Другие члены команды не сталкиваются с этой проблемой в своей системе,Я не уверен, что это проблема браузера или что-то еще.

То, что я пробовал:

  • Очистил кэш браузера
  • Повторно импортировал приложение
  • Пробовалв другом браузере

Вот код, в котором используется «pName».

HTML1 : 

<table class="row page-row align-items-start col-12">
                  <tr>
                   <td>Name:</td>
                    <td>{{projectBasicInfo['Address']['pName']}}</td>
                   </tr>
                   <tr>
                     <td>Address:</td>
                     <td>{{BasicInfo['Address']['pstreet']}}
                      , {{BasicInfo['Address']['pcity']}}
                       , {{BasicInfo['Address']['pstate']} 
                       {{BasicInfo['Address']['pzip']}}</td>
                    </tr>
                    <tr>
                    <td>Term:</td>
                   <td>{{BasicInfo['eDate']}} to {{BasicInfo['eDate']}}</td>
                    </tr>
 </table>
``````````````````````````````````````````````````````````````````````````````

HTML 2:

    <div class="list-group-item">
                <h5>Name</h5>
                <p>{{quoteResult.pAddress.pName}}</p>
     </div>

``````````````````````````````````````````````````````````````````````````````
HTML3:

<div class="list-group-item">
              <h6><b>Name</b></h6>
              <a>{{Result.pAddress.pName}}</a>
</div>
``````````````````````````````````````````````````````````````````````````````

HTML4:

<div class="row page-row align-items-start">
   <div class="col-6">
    <input [ngClass]="{'is-invalid': pName.touched && pName.invalid}" class="form-control" formControlName="pName" type="text"  maxlength="70">
                                <span *ngIf="pName.touched && pName.invalid" 
    class="text-danger">This field is required</span>
    </div>
</div>
``````````````````````````````````````````````````````````````````````````````

Service: 

pAddress: this.fb.group({
        pName: ['', Validators.required],
        pstreet: ['', Validators.required],
        pcity: ['', Validators.required],
        pstate: ['', [Validators.required, CustomValidators.StateRequirements]],
        pcounty: ['', Validators.required]
      }),
``````````````````````````````````````````````````````````````````````````````

ts file:
get pName(): AbstractControl { return this.pageData.formGroup.get('pAddress').get('pName'); }

1 Ответ

0 голосов
/ 25 сентября 2019

Попробуйте использовать безопасный навигационный оператор

<input [ngClass]="{'is-invalid': pName?.touched && pName?.invalid}" 
       class="form-control" formControlName="pName" 
       type="text"  maxlength="70">

<span *ngIf="pName?.touched && pName?.invalid" 
      class="text-danger">This field is required</span>

знак вопроса с уведомлением (?) прямо перед оператором точки

...