表单控件错误:错误错误:没有指定名称属性的表单控件的值访问器

时间:2017-10-12 11:07:57

标签: forms angular

在下面的组件中,当组件加载到angular4应用程序时,我不断收到错误:

  

ng:///HeaderModule/HeaderComponent.ngfactory.js:334 ERROR错误:否   具有未指定名称属性的表单控件的值访问器

我尝试删除ngModelvalue属性,但没有任何效果。

我假设问题是标题.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">

不确定导致问题的原因。 如果有人能够指出这个问题会有所帮助。

由于

5 个答案:

答案 0 :(得分:9)

如果您忘记为name指定ngModel属性,则会发出此错误。

您可以在html中找到包含错误的以下行:

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

如您所见,没有name属性。

答案 1 :(得分:6)

使用ngDefaultControl指令使您的表单具有默认的2way绑定

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

答案 2 :(得分:3)

如果您尝试将 ngModel 添加到非输入元素,也会发生此错误。确保仅将 ngModel 添加到标签中。就我而言,我已将 ngModel 添加到 <option> 而不是 HTML select Tag 中的 <select>

答案 3 :(得分:1)

就我而言,这是这样的

只需添加 name =“ searchInput”

之前

  <input type="text"  nz-input placeholder="Search Project"
                            [(ngModel)]="searchInput" (ngModelChange)="search()">

之后

 <input type="text" name="searchInput" nz-input placeholder="Search Project"
                            [(ngModel)]="searchInput" (ngModelChange)="search()">

答案 4 :(得分:0)

在离子4中,我的代码中出现此错误:

<ion-label [name]="num_lable"                                       [(ngModel)]="num_temp[i]"> {{num_temp[i]}}</ion-label>

我将代码更改为: (我的代码中不需要ngModel)

<ion-label> {{num_temp[i]}}</ion-label>

,现在未显示错误:)