El filtro angular funciona pero causa "10 $ iteraciones de digestión alcanzadas"
Recibo datos de mi servidor back-end estructurados de esta manera:
{
name : "Mc Feast",
owner : "Mc Donalds"
},
{
name : "Royale with cheese",
owner : "Mc Donalds"
},
{
name : "Whopper",
owner : "Burger King"
}
En mi opinión, me gustaría "invertir" la lista. Es decir. Quiero enumerar a cada propietario, y para ese propietario enumerar todas las hamburguesas. Puedo lograr esto usando la función underscorejsgroupBy
en un filtro que luego utilizo con elng-repeat
directiva:
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>
Esto funciona como se esperaba, pero obtengo un enorme seguimiento de la pila de errores cuando la lista se representa con el mensaje de error "10 $ iteraciones de resumen alcanzadas". Me resulta difícil ver cómo mi código crea un bucle infinito que está implícito en este mensaje. ¿Alguien sabe por qué?
Aquí hay un enlace a un plunk con el código:http://plnkr.co/edit/8kbVuWhOMlMojp0E5Qbs?p=preview