Ошибка управления формой: ошибка ERROR: нет элемента доступа к данным для управления формой с неопределенным атрибутом имени
В нижеприведенном компоненте, когда компонент загружен в приложение angular4, я все время получаю ошибку:
ng:///HeaderModule/HeaderComponent.ngfactory.js: 334 Ошибка ERROR: нет value для элемента управления формой с неопределенным атрибутом имени
Я попытался удалить атрибуты ngModel
и value
, но ничего не сработало.
Я предполагаю, что проблема связана с заголовком .component.html.
Ниже приведен html
<!-- Notification area-->
<li class="dropdown">
<a href="#" data-toggle="dropdown" class="dropdown-toggle" (click)="changeNotificationStatus()">
<i class="glyphicon glyphicon-bell"></i>
<span class="visible-xs-inline">Notifications</span>
<span class="badge badge-sm up bg-danger pull-right-xs" [hidden]="notificationCount<=0" [(ngModel)]="notificationCount"></span>
</a>
<div class="dropdown-menu w-xl animated fadeInUp">
Не уверен, что вызывает проблему.
Если кто-то может указать на проблему, это будет полезно.
Спасибо
Ответы
Ответ 1
Эта ошибка испускается, если вы забыли указать атрибут name
для ngModel
.
Вы можете найти следующую строку в html, которая содержит ошибку:
<span class="badge badge-sm up bg-danger pull-right-xs" [hidden]="notificationCount<=0" [(ngModel)]="notificationCount"></span>
Как вы можете видеть, атрибут name
отсутствует.
Ответ 2
Используйте директиву ngDefaultControl
чтобы ваша форма имела 2way
привязку по умолчанию
<input type="text" [(ngModel)]="name" ngDefaultControl>
Ответ 3
в ионном 4 у меня была эта ошибка в моем коде:
<ion-label [name]="num_lable" [(ngModel)]="num_temp[i]"> {{num_temp[i]}}</ion-label>
я изменил код на:
(в моем коде нет необходимости в ngModel)
<ion-label> {{num_temp[i]}}</ion-label>
и теперь ошибка не отображается :)