AngularJS: 有多种方法可以将 ng-model 应用于表单吗?

AngularJS: Are there multiple ways to apply ng-model to a form?

我正在使用带有 Play-Bootstrap 扩展和 AngularJS 的 Scala-Play。由于应用程序的控制由 AngularJS 管理,我需要提交表单并由 AngularJS 管理响应,而不是由 Play 控制器管理。

据我了解和使用纯 AngularJS 可以使用 ng-model 到 link 每个输入到特定 $scope 嵌套变量,例如

<form name="userForm">
    <label>
      Name:
      <input type="text" name="userName"
             ng-model="user.name"/>
    </label><br />
    <label>
      Other data:
      <input type="text" ng-model="user.data" />
    </label><br />
</form>

是否可以通过在 form 标签上使用 ng-model 来实现相同的目的?而不是将它应用于每个输入?问题是在使用 Play-Bootstrap 时不可能将所需的 ng-model 注入每个输入,即这不起作用:

@b3.text(computeInSampleForm("impliedVolSpread"), '_label -> messagesApi("myapp.impliedVolSpread"), 
         '_showConstraints -> false, 'ng-model -> "impliedVolSpread")

它因错误而失败 value - is not a member of Symbol 如果我只知道如何转义 - 破折号,它就会工作。

由于我已经将 b3.form 的自定义版本创建为 b3.bgform,如果我可以在表单级别执行 bg-model 就太好了……这可能吗?

您可以通过显式转换为符号来修复此错误:

Symbol("ng-model") -> "impliedVolSpread"

或者使用隐式转换导入:

@import views.html.helper.Implicits._