我有一个名为user
的对象:
它具有user.name
,user.age
e.tc。
现在,我需要通过ng-model将数组添加到名为subjects
的用户对象。
这就是我在ng-repeat中所做的:
<input type="text" ng-model="user.subjectname[$index]"
name="subject" ng-required="true" placeholder="Enter a subject name">
当我console.log(user.subjectname)
时,它看起来像这样:
现在,在此之后,我想做这样的事情:
<div ng-repeat="data in user.sujects">
<td>{{data}} </td>
</div>
但它不起作用。
Try2:
在我从控制器调用的服务中,我尝试了这个,
if(dataArray== null)
var dataArray=[];
console.log("scop.user.subjectname...................." + user.subjectname);
for(var i in user.subjectname)
{ dataArray.push(user.subjectname[i])
}
user.data=dataArray;
所以,现在,如果我这样做,
<div ng-repeat="data in user.data">
<td>{{data}} </td>
</div>
我仍然一无所获。
我可以指点处理这个吗?
答案 0 :(得分:2)
就像我在your previous question告诉你的那样,并在a jsbin中展示。
您需要使用(key, val) in object语法从user.subjectname
ng-repeat="(key, val) in user.subjectname" ng-bind="val"
如果需要将此对象转换为数组:
$scope.arr = [];
Object.keys(user.subjectname).forEach(function (key) {
arr.push(user.subjectname[key]);
});
然后,如果你需要输出那个
ng-repeat="a in arr" ng-bind="a"
编辑:经过您的进一步解释后,我假设this jsBin突出显示您所追求的内容。