2016-05-24 7 views
0

Grundsätzlich mache ich eine Todo-Liste mit eckigen und ich möchte anzeigen, wie viele Elemente als erledigt markiert wurden Ich habe ein Array-Objekt von Listen und jede Liste hat eine Sammlung der Listenelemente genannt todos wie so:Using AngularJS, um die Zählung eines Unterfeldes zu erhalten

[{listName: "ESSENTIALS", newTodoName:"", newTodoQ:"0", todos: [ 
         { taskName : "Comb" , quantity: 1, isDone : false , id: "comb" }            ]}, 
{listName: "TOILETRIES", newTodoName:"", newTodoQ:"0", todos: [ 
         { taskName : "Tooth Brush" , quantity: 1, isDone : false , id: "toothbrush"}, 
         { taskName : "Tooth paste" , quantity: 6, isDone : false, id: "toothpaste" }, 
         { taskName : "Deodorant" , quantity: 3, isDone : false, id: "deodorant" } 
                        ]}]; 

so habe ich zwei ng-Wiederholungen .. Man wiederholt die Listen dann noch in der es druckt jedes Listenelement aus. Ich habe eine H1 und neben dem Titel möchte ich die Elemente, die isDone als wahr markiert wurden neben der Gesamtzahl der Datensätze, um zu zeigen, wie viele Elemente Sie noch haben. Wie Sie sehen können, habe ich angefangen, einen Filter zu programmieren, aber ich glaube, es ist falsch, dass ich immer wieder bekomme: "Syntax Error: Token 'undefined' ist unerwartet und erwartet [}] bei Spalte null des Ausdrucks [(list.todos |] beginnend bei [{4}]. "Ich bin nicht wirklich sicher, was das bedeutet ... mein vierter Eintrag ist leer? Trotzdem habe ich alle meine Todos dort und sie sind nicht leer. Ist mein Filter falsch? Oder ein besserer Weg zu tun ? diese

<div class='row' ng-repeat="list in lists"> 
     <h1 class='centerTitle'>{{list.listName}} <span class="listCounter"> {{ (list.todos | filter:{todos: {isDone: true}}: true).length }}/{{list.todos.length}}</span></h1> 

     <ul ui-sortable="todoSortable" ng-model="list.todos"> 
             <li ng-class="{taskDone: todo.isDone}" class="todoTask" ng-repeat="todo in list.todos | orderBy: 'isDone' "></li> 
    <div> 

Antwort

2

können Sie versuchen:

<h1 class='centerTitle'>{{list.listName}} <span class="listCounter"> {{ (list.todos | filter: {isDone: true}).length }}/{{list.todos.length}}</span></h1> 
+0

Thank you so viel –

+0

alles kein Problem :)! – keithm

Verwandte Themen