[英]adding an array property to object in angular js
我有一個名為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>
我什么也沒得到。
我可以得到一些指導來解決這個問題嗎?
就像我在上一個問題中告訴您的那樣 ,並在jsbin中進行了展示 。
您需要在對象語法中使用(key,val)以使這些值脫離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"
編輯:經過您的進一步解釋后,我假設此jsBin突出顯示了您所追求的目標。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.