Angular Ошибка: «Нет доступа к значению для элемента управления формы с неопределенным атрибутом имени» в div - PullRequest
0 голосов
/ 24 марта 2020

Я просто пытаюсь использовать некоторую строковую интерполяцию внутри div для отображения длины свойства в представлении. Я получаю сообщение об ошибке в консоли Ошибка: «Нет доступа к значению для элемента управления формы с неопределенным атрибутом имени», и вызывающий ошибку div выделяется. Я начал с:

<div>{{allNouns.length}}</div>

, но вывод оставался равным 0, независимо от того, какую длину я видел в журналах консоли. Кроме того, это вызвало другой компонент, чтобы получить эту же ошибку, несмотря на отсутствие ngmodels или форм на нем. После кучей переделок я дошел до:

<div name="allNounsLength" [(ngModel)]="allNouns" ngDefaultControl>{{allNouns.length}}</div>

Это учитывает функциональность, но все равно выдает ошибку. Я рассмотрел несколько потенциальных решений, но большинство из них относится к формам или входам. Я не знаю, почему это происходит.

Вот TS, связанный: App.module.ts - import { BrowserModule } from '@angular/platform-browser'; import { HttpClientModule } from '@angular/common/http'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { NgModule } from '@angular/core'; import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; import { FormsModule, ReactiveFormsModule } from '@angular/forms';

App.component.ts allNouns:any=[];

App.component. html - `` `

      <div name="allNounsLength" [(ngModel)]="allNouns" ngDefaultControl>{{allNouns.length}} 
     </div>

    <!-- <div>{{allNouns.length}}</div> -->

    <button class='btn btn-danger' (click)="generatePerson()">Generate Noun</button>

    <div class="toggleDiv">
      <label>Preloaded Nouns</label>
      <input id="preloadedNounsCheck" 
      type="checkbox" 
      [checked]="preloadedNouns"
      (change)="preloadedNouns = !preloadedNouns; toggleData()"
      >
    </div>
    <div class="toggleDiv">
      <label>Your Nouns</label>
      <input id="yourNounsCheck" 
      type="checkbox" 
      [checked]="yourNouns"
      (change)="toggleData($event)"
      (change)="yourNouns = !yourNouns"

      >
    </div>

    <div class="toggleDiv">
      <label>All User Nouns</label>
      <input id="allUserNounsCheck" 
      type="checkbox" 
      [checked]="allUserNouns"
      (change)="toggleData($event)"
      (change)="allUserNouns =!allUserNouns"

      >
    </div>
    <!-- ADD NOUN COLLAPSE -->
    <app-add-person-form
    [user]='user'
    [(ngModel)]='allNouns'
    ></app-add-person-form>
  </div>```
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...