在下面的组件中,当组件加载到angular4应用程序时,我不断收到错误:
ng:///HeaderModule/HeaderComponent.ngfactory.js:334 ERROR错误:否 具有未指定名称属性的表单控件的值访问器
我尝试删除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">
不确定导致问题的原因。 如果有人能够指出这个问题会有所帮助。
由于
答案 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>
,现在未显示错误:)