我是Angular的新手并且正在努力学习。我试图找到一种方法来绑定一些数量与他们的ID。这是我的模板:
"<div class='tableBorder'><label> <input ng-model='" + modelngQTY + "' type='number' name='{{value.DetailID}}' /> {{value.Text | lowercase}} </label> </div>"
modelngQTY是:
modelngQTY = "selectedOptions[value.CustomID].Details[value.DetailID].QTY";
不幸的是,使用此代码生成的对象是:
{"36":{"Details":{"107":{"QTY":2323232},"108":{"QTY":232323}}}}
我希望它看起来像这样:
{"36":{"Details":[{DetailID: "107", "QTY":2323232},{DetailID: "108","QTY":232323}]}}
右边的版本非常难以通过ng-repeat进行循环。我有所有的数据显然我不知道如何编写模型。我尝试了{}和[],以及许多不同的ngmodel版本。我能得到的最好的是右边的版本。
我已经做了很多谷歌搜索,有很多关于如何过滤和使用ng-options进行ng-repeat的资源但是我几乎找不到任何关于将数据插入到模型中的信息。好的格式。
我在这里缺少什么?
答案 0 :(得分:1)
可能的解决方案存在于http://plnkr.co/edit/9wMZAD?p=info。
这些地图功能
vm.endingStructure= _.map(vm.beginningStructure, function(object, value) {
var newStructure = {};
newStructure[value] = {
Details: _.map(object.Details, function(qtyObject, value) {
var arrayStructure = {
DetailID: value,
QTY:qtyObject.QTY
};
return arrayStructure;
})
};
return newStructure;
});
将{ "36": { "Details": { "107": { "QTY": 2323232 }, "108": { "QTY": 232323 } } } }
变为[ { "36": { "Details": [ { "DetailID": "107", "QTY": 2323232 }, { "DetailID": "108", "QTY": 232323 } ] } } ]