我有这个
ng-repeat="directive in vm.directives">
其中循环正确显示我的所有数据
在该循环内我可以做到这一点
{{vm.question.directiveassoc[0].SortOrder}}
并且有效
但是当我尝试做的时候
{{vm.question.directiveassoc[directive.Id].SortOrder}} that does not work
更重要的是,我希望我的ng-model能够在我的对象中显示数据
ng-model="vm.question.directiveassoc[directive.Id].SortOrder"
为什么不起作用,不应该从我的对象显示数据?
{
"Id": 105,
"Name": "yyyyyyyyyyyyy",
"Description": "yyyyyyyyyyyyyy",
"Active": true,
"$$hashKey": "object:98",
"directiveassoc": [
{
"Id": 96,
"QuestionId": 105,
"DirectiveId": 1,
"SortOrder": 99,
"data": "yyyyyy"
}
]
}
更新
好的,这可行
ng-model="vm.question.directiveassoc[directive.Id -1].SortOrder"
问题是循环遍历vm.directives,是一个以1开头的对象列表,因为它们的顺序是1到多,并且因为我的另一个vm.question.directiveassoc对象包含相同的指令id,以及sortorder ..如果我-1
有效因此,由于对象从0开始,我只是减去
虽然
但感觉很狡猾使用不同的对象真正做这个循环的更好方法是什么?
答案 0 :(得分:0)
看起来您的指令的Id
为1,而不是0。
我建议你在控制器上创建一个方法来获取给定指令id的排序顺序,然后进行正确的数组搜索,找到directiveassoc
数组中带有正确{{1}的数组的条目}。
如果使用Lodash或Underscore,DirectiveId
方法应该是您所需要的,否则请自行编写。