2016-09-27 31 views
0

我有一个嵌套的NG-重复显示的那些可能我得到的一个看似随意的列表功能调用。嵌套ngRepeat使用parent属性作为参数显示错误列表

我的HTML是这样的:

<table ng-init="getHouses()"> 
    <tr> 
     <td>Id</td> 
     <td>Name</td> 
    </tr> 
    <tr ng-repeat="h in houses> 
     <td>{{h.Id}}</td> 
     <td>{{h.Name}}</td> 
     <td ng-init="peopleInhHouse(h.Id)"> 
      <span ng-repeat="p in peopleInHouse">p.Name</span> 
      <br /> 
     </td> 
    </tr> 

我认为问题就出在这里,因为我正确地得到我的人名单,问题在于它显示了人们对所有不同的房子和它相同的列表似乎随机在每次刷新页面之间。

+0

你可以为它创建一个[plunker(https://plnkr.co/edit/?p=preview)。我想你可以在你的第二个ng-repeat –

回答

0

您的变量peopleInHouse将始终引用相同的值。而且,由于您使用的是请求来获取数据,你不能简单地直接在ng-repeat

所以只需更新ng-init功能,所以它填充了人们在家里

的功能应该是这个样子

使用
function addPeopleToHouse(house){ 
    request(house.id).then(function(response){ 
    house.People = response.data; 
    }) 
} 

而且更新HTML到

<td ng-init="addPeopleToHouse(h)"> 
    <span ng-repeat="p in h.People">p.Name</span> 
    <br /> 
</td> 
+0

@Benji中使用过滤器,你应该提供'peopleInhHouse'从服务器获取数据的信息。我认为这走向了你的初始方法 – taguenizy