Я получаю данные с моего заднего сервера, структурированного следующим образом:
{
name : "Mc Feast",
owner : "Mc Donalds"
},
{
name : "Royale with cheese",
owner : "Mc Donalds"
},
{
name : "Whopper",
owner : "Burger King"
}
По моему мнению, я хотел бы "инвертировать" список. То есть Я хочу перечислить каждого владельца, и для этого владельца список всех гамбургеров. Я могу добиться этого, используя функцию underscorejs groupBy
в фильтре, которую я затем использую с директивой ng-repeat
:
JS:
app.filter("ownerGrouping", function() {
return function(collection) {
return _.groupBy(collection, function(item) {
return item.owner;
});
}
});
HTML:
<li ng-repeat="(owner, hamburgerList) in hamburgers | ownerGrouping">
{{owner}}:
<ul>
<li ng-repeat="burger in hamburgerList | orderBy : 'name'">{{burger.name}}</li>
</ul>
</li>
Это работает так, как ожидалось, но я получаю огромную трассировку стека ошибок, когда список отображается с сообщением об ошибке "Достигнутые итерации 10 $digest". Мне нелегко видеть, как мой код создает бесконечный цикл, который подразумевается в этом сообщении. Кто-нибудь знает почему?
Вот ссылка на plunk с кодом: http://plnkr.co/edit/8kbVuWhOMlMojp0E5Qbs?p=preview