我有以下代码:
<div class="form-group" ng-repeat="(key, day) in {'monday':'Monday','tuesday':'Tuesday','wednesday':'Wednesday','thursday':'Thursday','friday':'Friday','saturday':'Saturday','sunday':'Sunday'}">
<label for="{{key}}" class="col-sm-3 control-label">{{day | translate}}</label>
<div class="col-sm-4">
<input type="number" class="form-control" ng-model="wd.{{key}}" id="{{key}}" name="{{key}}" min="1" placeholder="{{'Enter the price' | translate}}" required />
</div>
</div>
注意,我在input
上有一个ng-model
,它试图动态地设置模型wd.{{key}}
。
当我运行这段代码时,它说在.
之后有一个无效的属性名。
我怎样才能得到同样的效果?我不喜欢每天都有HTML代码
使用括号符号(不要忘记它仍然是JavaScript):
ng-model="wd[key]"
在你的控制器集
$scope.wd = [ {key: 'monday', day: 'Monday', value: ''},
{key: 'tuesday', day: 'Tuesday', value: ''},
***
];
然后在html
<div class="form-group" ng-repeat="day_item in wd">
<label for="{{day_item.key}}" class="col-sm-3 control-label">{{day_item.day | translate}}</label>
<div class="col-sm-4">
<input type="number" class="form-control" ng-model="day_item.value" id="{{day_item.key}}" name="{{day_item.key}}" min="1" placeholder="{{'Enter the price' | translate}}" required />
</div>
</div>