如何动态设置ng-model

how to set ng-model dynamically

本文关键字:设置 ng-model 动态 何动态      更新时间:2023-09-26

我有以下代码:

<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>