我有一个 AngularJS 表单,我在其中使用 ng-repeat 根据另一个选择动态构建表单的字段。我正在尝试动态生成模型名称并遇到问题。
<div class="form-group" ng-repeat="parameter in apiParameters">
<label for="{{parameter.paramName}}" class="col-sm-2 control-label">{{parameter.paramTitle}}</label>
<div class="col-sm-3">
<input type="text" class="form-control" name="{{parameter.paramName}}" id="{{parameter.paramName}}" ng-model="formData.parameters.{{parameter.paramName}}" placeholder="{{parameter.paramTitle}}">
</div>
</div>
我需要的是评估类似 ng-model="formData.parameters.fooId" 或 ng-model="formData.parameters.barId"
以上导致错误:错误:[$parse:syntax] 语法错误:令牌'{'是表达式 [formData.parameters.{{parameter.paramName}}] 的第 21 列中的意外令牌,从 [{{参数.paramName}}]。
在我的控制器中,我有:
$scope.formData = {};
$scope.formData = {
settings:
{
apiEndpoint: '',
method: 'get'
},
parameters: {}
};
我也尝试过 ng-model="formData.parameters.[parameter.paramName]" (基于这个问题How can I set a dynamic model name in AngularJS?),但这没有评估并且无法设置 ng -模型值。我不确定我想要完成的事情是否可能。我假设我需要通过控制器来实现我想要的,但任何帮助将不胜感激。