web-dev-qa-db-fra.com

erreur de contrôle de formulaire: ERROR Erreur: aucun accesseur de valeur pour le contrôle de formulaire avec un attribut de nom non spécifié

Dans le composant ci-dessous, lorsque le composant est chargé dans l'application angular4, l'erreur continue à apparaître:

ng: ///HeaderModule/HeaderComponent.ngfactory.js: 334 ERROR Erreur: aucun accesseur de valeur pour le contrôle de formulaire avec l'attribut de nom non spécifié.

J'ai essayé de supprimer les attributs ngModel et value mais rien n'a fonctionné.

Je suppose que le problème concerne l'en-tête .component.html. Ci-dessous le 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">

Pas sûr de ce qui cause le problème. Si quelqu'un pouvait signaler le problème, ce serait utile.

Merci

15
Shruti Nair

Cette erreur est émise si vous oubliez de spécifier l'attribut name pour un ngModel.

Vous pouvez trouver la ligne suivante dans votre code HTML contenant l'erreur:

<span class="badge badge-sm up bg-danger pull-right-xs" [hidden]="notificationCount<=0" [(ngModel)]="notificationCount"></span>

Comme vous pouvez le constater, il n'y a pas d'attribut name.

9
Dinistro

Utilisez la directive ngDefaultControl pour que votre formulaire ait la valeur par défaut 2way contraignant

<input type="text" [(ngModel)]="name" ngDefaultControl>
8
Farhad Lavaei