在角度5中没有未指定名称属性的表单控件的值访问器

时间:2018-05-20 09:55:38

标签: angular typescript angular-ngmodel

HTML代码

<li class="dropdownfilter" *ngIf="this.arr.inclues('Male')" (click)="getValueGender('Male',1,)" [(ngModel)]="M"><a>Male</a></li>

我面临以下异常

ERROR Error: No value accessor for form control with unspecified name attribute

所以我添加了

<li class="dropdownfilter" name="gendermale" *ngIf="this.arr.inclues('Male')" (click)="getValueGender('Male',1,)" [(ngModel)]="M"><a>Male</a></li>

现在面临以下异常

ERROR Error: No value accessor for form control with name: 'gendermale'

我在代码的许多地方都遇到了这个异常。

<div class="col-sm-8 col-xs-8 contact">
    <input  id="passphn{{bus.busServiceId}}" (keyup)="onKeyPress($event)" class="form-control contact-number" type="text" [(ngModel)]="contactNumber" name="contact-number" placeholder="Phone" required pattern="(?<!\d)\d{10}(?!\d)" minlength="10" maxlength="10" />
    <div class="shake-tooltip-web-mobile" *ngIf="webMobileError != ''">{{webMobileError}}</div> <!-- Facing the same exception here -->
</div>

<div class="panel-body" *ngIf="dropingView == 'show'"> <!-- Here too -->

1 个答案:

答案 0 :(得分:0)

首先,您无法在html中使用this.x进行访问。

<li class="dropdownfilter" *ngIf="arr.inclues('Male')" (click)="getValueGender('Male',1)"><a>Male</a></li>

其次,li标签没有name属性,也不支持[(ngModel)],因为它需要value属性。 ngModel是指令中的角度构建。双向绑定使用语法[()],Property绑定使用语法[],Event绑定使用语法作为括号()。