Javascript 名称为-5的窗体控件没有值访问器

Javascript 名称为-5的窗体控件没有值访问器,javascript,angular,Javascript,Angular,这正是我们面临的错误: html:11错误:表单控件没有值访问器 名字是:“s” 我正在尝试使用JSON创建一个包含4个选项(按钮)的测验应用程序。单击Next按钮,将用户提供的答案与JSON提供的答案进行比较。我在这里看到了关于此错误的其他搜索结果,该错误要求使用表单,但由于我没有创建任何具有明确输入但按钮值简单的内容,我想不应该使用表格 PS:在我为测验选项在HTML中实现可点击按钮之前,这段代码工作得非常好。我之前使用的是单选按钮。ngModel双向绑定有问题,如果我从按钮中删除ngMod

这正是我们面临的错误:

html:11错误:表单控件没有值访问器 名字是:“s”

我正在尝试使用JSON创建一个包含4个选项(按钮)的测验应用程序。单击
Next
按钮,将用户提供的答案与JSON提供的答案进行比较。我在这里看到了关于此错误的其他搜索结果,该错误要求使用表单,但由于我没有创建任何具有明确输入但按钮值简单的内容,我想不应该使用表格

PS:在我为测验选项在HTML中实现可点击按钮之前,这段代码工作得非常好。我之前使用的是单选按钮。ngModel双向绑定有问题,如果我从按钮中删除ngModel标记,则无法确定HTML代码是否正确显示,或者如果我在按钮中写入ngModel,则不会显示按钮

HTML:


我不会在按钮上使用ngModel。使用简单(单击)事件并将数据存储在变量中。这样做:

<button type="button" name="s" id="oneans" [disabled]="permission" (click)="getUsersAnswer(actiCar,OP[j+0])">{{actiVar.OP[j+0]}}</button>

为什么在按钮标签上使用
[(NgModel)]
指令?理想的方法应该是什么?据我所知,在按钮上使用ngModel对我来说很有效。为什么有几个元素具有相同的名称/id,这是html编码的反模式。相同的名称-以便在单个点上只能选择一个答案&相同的id-用于css。Angular中的双向绑定是模型和视图之间的同步。当模型中的数据更改时,视图会反映更改,当视图中的数据更改时,模型也会更新,对于按钮标记,您应该使用
事件
而不是
[(ngModel)]
说明我很高兴能帮上忙:)
filterAnswer(i: any) //Comparing Answer submitted by user with JSON provided answer
  {
    this.correctAns = this.activeArray[0].isRight;
    this.lastIndex = this.activeArray[0].QuestionID;
    if (this.correctAns == i && this.correctAns != this.storeArray[this.storeCounter - 1]) {
       console.log(i);

      this.storeArray[this.storeCounter] = i; //Only the correct answer provided by user gets stored here.
      this.storeCounter++;

      this.scoreCounter++;
}
    }
<button type="button" name="s" id="oneans" [disabled]="permission" (click)="getUsersAnswer(actiCar,OP[j+0])">{{actiVar.OP[j+0]}}</button>
getUsersAnswer(answer: any) {
   this.i = answer;
}