Ich habe eine Website, die angle ng-repeat verwendet, um Daten aus meinem Bereich anzuzeigen, und alles funktioniert gut, aber ich muss Elemente zählen, um einen Prozentsatz zu zeigen, abgeschlossen, kann aber nicht scheinen um online eine Lösung zu finden. Ich bin immer noch sehr neu in Angular und JS, also entschuldige mich wenn es eine einfache Lösung ist.Elemente mit Wert in angularjs Umfang pro Zeile zählen
Das ist eine vereinfachte und verallgemeinerte Beispiel dafür, was ich zu erreichen bin auf der Suche nach:
$scope.devices = [
{Detail_A:'ShowA1',Detail_B:'ShowB1',Status_A:'',Status_B:'OK',Status_C:'',Status_D:'OK',ENG_A:'OK',ENG_B:'OK',ENG_C:'OK'},
{Detail_A:'ShowA2',Detail_B:'ShowB2',Status_A:'OK',Status_B:'OK',Status_C:'OK',Status_D:'OK',ENG_A:'',ENG_B:'',ENG_C:''},
{Detail_A:'ShowA3',Detail_B:'ShowB3',Status_A:'OK',Status_B:'OK',Status_C:'OK',Status_D:'OK',ENG_A:'OK',ENG_B:'OK',ENG_C:'OK'}
]
Ich möchte einen Prozentsatz der Elemente anzuzeigen, die Zustand ‚OK‘ innerhalb der beiden vorfixiert Artikel: Status_ * und ENG_ *. Dies kann entweder dadurch geschehen, dass man jede Schleife oder besser wiederholt, um das Präfix für die Berechnung über eine Gruppe verwenden zu können.
<div ng-repeat="device in devices">
<div class="col-md-2">{{StatusPercentComplete}}</div>
<div class="col-md-1">{{ENGPercentComplete}}</div>
<div class="col-md-1">{{device.Detail_A}}</div>
<div class="col-md-1">{{device.Detail_B}}</div>
</div>
Also für Zeile 1, würde StatusPercentComplete 50% und ENGPercentComplete würde 100% betragen.
Jede Richtung würde sehr geschätzt werden.
Das hat super geklappt in meiner Entwicklungsumgebung, also werde ich es jetzt ausprobieren. Es ist toll, wie dynamisch es ist und wie ich es ändern kann. lodash ist neu für mich und wird es weiter betrachten, da es ein großartiges Werkzeug zu sein scheint. – Andrew
@ bennet-adams Das hat gut funktioniert, aber was ist der Grund dafür, var ctrl = dies zu deklarieren und dann den Controller als Main zu nennen? Es funktioniert gut, aber ich habe Probleme mit anderen Änderungen am Umfang aufgrund der Var, meist wahrscheinlich von meinem Mangel an Verständnis. – Andrew
Es ist eine gute Übung, ["Controller als" -Syntax] (https://toddmotto.com/digging-into-angulars-controller-as-syntax/) zu verwenden, um bereichsspezifische Variablen explizit an einen bestimmten Controller gebunden zu halten, insbesondere für verschachtelte Bereiche. Es ist nicht unbedingt notwendig, und Sie müssen weiterhin $ scope für Beobachter und Ereignis-Listener injizieren, aber es ist der empfohlene Weg für angular^1.2. –