2016-09-16 134 views
1

我有这样NG-重复angularjs

Obj = { 
    "elements":[ 
       {"name":"something","id":"v1-234"}, 
       {"name":"somethingElse","id":"v1-239"} 
      ], 
    "paging":{ 
    "next" : "100", 
    "total": "2000" 
    }, 
"linked"={ 
      "partners":[ 
         {"id":"82","name":"A"}, 
         {"id":"83","name":"B"} 
         ], 
      "instructors": 
         [ 
         {"id":"11232","name":"alex"}, 
         {"id":"11432","name":"boob"} 
         ] 
      } 
    } 

我有元件阵列和伙伴和教师阵列内等于项的对象。我只放置了两件物品以供展示,可能会有很多。

Obj.elements [0]与Obj.linked.partners [0]和Obj.linked.instructors [0]有关。同样,对于第一,第二,第三......项目也是如此。

我怎样才能NG-重复此对象上,这样我可以显示

Obj.elements [I] Obj.linked.partners [I] Obj.linked.instructors [I]

在时间在HTML模板?

+0

你将不得不格式化您的viewmodel以满足您的需求。 –

回答

5

如果你的元素,合作伙伴,和讲师阵列将永远是相同的长度和你想例如联合起来,你可以尝试这样的名字。

<div ng-repeat="element in Obj.elements"> 
    {{element.name}} {{Obj.linked.partners[$index].name}} {{Obj.linked.instructors[$index].name}} 
</div> 

$ ng index指示ng-repeat中的Angular用于在迭代对象时跟踪其位置。这里是文档:ng-repeat

+0

我认为'Obj.elemnts'会抛出一个错误,因为它看起来不是一个有效的'repeat_expression'(参见文档),您应该在Obj.elements中的'ng-repeat =“项目中修改它,即使您不要使用项目 – drakyoko

+0

它不会抛出错误,因为Obj.elements是一个数组。 – RickCoxDev

1

ng-repeat$index范围变量:

<ANY ng-repeat="element in model.elements"> 
    <span ng-bind="element.name"></span> 
    <span ng-bind="model.linked.partners[$index].name"></span> 
    <span ng-bind="model.linked.instructors[$index].name"></span> 
</ANY> 
+0

我认为span应该是'ng-bind = model.linked。[...]' – drakyoko

+0

@drakyoko应该是什么? ; P –

+0

对不起,我正在编辑:) @Matias Fidemraizer – drakyoko