jdi*_*ver 11 angularjs angular-ngmodel
我有一个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>
Run Code Online (Sandbox Code Playgroud)
我需要的是评估像ng-model ="formData.parameters.fooId"或ng-model ="formData.parameters.barId"之类的东西
以上结果导致错误:错误:[$ parse:syntax]语法错误:令牌'{'是表达式[formData.parameters.{{parameter.paramName}}]的第21行的意外标记,从[{{开始parameter.paramName}}].
在我的控制器中我有:
$scope.formData = {};
$scope.formData = {
settings:
{
apiEndpoint: '',
method: 'get'
},
parameters: {}
};
Run Code Online (Sandbox Code Playgroud)
我也尝试过ng-model ="formData.parameters.[parameter.paramName]"(基于这个问题我如何在AngularJS中设置动态模型名称?),但是没有评估并且无法设置ng - 模型值.我不确定我想要完成的是否可能.我假设我需要通过控制器来实现我想要的,但任何帮助将不胜感激.
Ser*_*eev 24
您只需要使用哈希键作为模型:
<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>
Run Code Online (Sandbox Code Playgroud)
还有许多其他方法,但这个方法比其他方法简单.
| 归档时间: |
|
| 查看次数: |
29420 次 |
| 最近记录: |