Ich kann nicht meinen Kopf um tiefe Filterung mit $ Filter oder $ Grep.Angular Filtering Array innerhalb des Arrays
ich ein Array von Speicherobjekte, die jeweils Speicherobjekt enthält eine Reihe von Bestellungen:
vm.Stores:
[{
Stores: [{
Id: 1,
Orders: [{
Id: 11,
Selected: true
}, {
{
Id: 12,
Selected: false
}]
}, {
Id: 2,
Orders: [{
Id: 21,
Selected: false
}, {
{
Id: 22,
Selected: true
}]
}],
}]
Ich möchte ein Array der Aufträge, deren ausgewählte Eigenschaft true :
vm.selectedOrders:
Das ist, was ich versuche:
vm.selectedOrders = $filter('filter')(Stores.Orders, {'selected': true});
Offensichtlich falsche. Andere Methoden, die ich ausprobiert habe, sind für jede Schleife verschachtelt, aber ich arbeite viel mit diesen Befehlen, also brauche ich einen effizienten Weg.
Ich habe versucht, die Aufträge in ihr eigenes Array zu reduzieren, aber jetzt verwalte ich ein anderes Objekt-Array, und es ist nicht das Objekt-Array, das in meinem HTML verwendet wird, so dass es nicht übereinstimmt.
Die Dokumente sind nicht hilfreich. Filter verwendbar ist in vielerlei Hinsicht, von denen keines scheint das Richtige für mich zu sein https://docs.angularjs.org/guide/filter
und die Parameter Erklärungen machen wenig Sinn
https://docs.angularjs.org/api/ng/filter/filter
Das Beispiel ist
- Basiert auf Winkelmesser
- enthält nicht einmal einen $ Filter ('Filter')!
Und was ist ein Komparator?
ich habe keinen Winkel Projekt vor mir habe ... aber wenn ich mich richtig erinnere sollen Sie in der Lage sein zu gehen 'Shops [0] .Orders '. Wenn dies der Fall ist, können Sie die Geschäfte durchlaufen und die ausgewählten Aufträge aufbauen. Sie würden immer noch loopen, aber nur über jeden "Store". –