Ошибка управления формой: ошибка 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>

и теперь ошибка не отображается :)