我有像这样的数据的JSON,遗憾的是我无法修复来自第三方的数据
$scope.mydata = {
"SOB0": "7",
"SOB1": "70",
"SOB2": "790",
...
...
"wb0": "7",
"wb1": "17",
"wb2": "8",
...
}
问题是JSON中收到的数据并不总是相同的,属性的数量,对于每种类型可能是一个或多个,即一个attr SOB0或多个SOB0,SOB1,SOB2 ..
在表单中,我希望根据JSON中的属性数量将此数据绑定到输入字段,例如,如果我只有三个类型" SOB"
{"SOB0": "7", "SOB1": "70","SOB2": "790"..}
input ng-model="mydata.SOB0" size=6
input ng-model="mydata.SOB1" size=6
input ng-model="mydata.SOB2" size=6
似乎无法像ng-model="mydata.SOB+$index"
那样进行插值
或调用函数以基于JSON动态绑定。
任何帮助都将不胜感激。
答案 0 :(得分:1)
您可以查看链接
https://plnkr.co/edit/ofd2UaDes4oaxxjj4PcU?p=preview
<div ng-repeat="a in states track by $index">
<input type="text" value={{a}}>
</div>
答案 1 :(得分:0)
在javascript中使用[]
表示法来表示变量对象属性名称
<input ng-model="mydata[ 'SOB' + $index ]">
迭代mydata
<div ng-repeat="(key, val) in mydata">
<input type="text" ng-model="mydata[key]">
</div>
答案 2 :(得分:0)
我会将所有输入值都放在像这样的$ scope dict中
//inside angular controller
$scope.values = {};
在html中:
<div ng-repeat="i in Object.Keys(mydata)">
<input ng-model="values[i]">
</div>
Object.keys(object)将返回一个数组,其中包含给定对象的所有键,在本例中为变量&#39; i&#39;将是你的SOB键,所以所有输入将被绑定到一个动态字典,它将使用它们的键来引用输入的值