2016-07-20 14 views
-1

I einen Bereich varible haben eine Reihe von Artikeln (JSON Objekte)

$scope.mainArticles = []; 

ein Artikel dieser Eigenschaften

{ 
"title": "ABCD", 
"type": "XYZ" 
} 

I Filtern Sie die Bereichsvariable $scope.mainArticles basierend auf dem Artikeltyp mit der Filtermethode von JS.

Aber mein DOM wird nie aktualisiert, obwohl die Gültigkeitsbereich-Variable geändert hat. Gibt es eine Möglichkeit, in diesem Szenario die Verwendung von $scope.$digest() oder $scope.$apply() zu vermeiden?

Ich möchte sie nicht verwenden, da es viele Antworten gibt here, die davon abraten, sie zu verwenden.

+0

'$ scope.mainArticles = $ scope.mainArticles.filter (filterByTypeFunction) ; - Wo heißt das? Kannst du mehr Code zeigen? – tymeJV

+0

Könnten Sie fiddle/plunkr des Problems hinzufügen? –

+0

Es gibt keine solche Regel wie 'don' t $ digest()/$ apply() 'verwenden, da es vom Fall abhängt, ob ein Digest angefordert oder unerwünscht ist. Was ist dein Fall? – estus

Antwort

0

besseren Weg, es ist Sie Artikel auf dem Server zu filtern Sie wollen nicht auf einmal alle Ihre Artikel zu laden und dann filtern es

+0

Eigentlich muss ich alle Artikel von vorne laden, da standardmäßig kein Filter vorhanden ist. Wenn ich also alle Artikel auf der Client-Seite habe, warum filtere ich sie nicht einfach? –

+0

Wenn Sie keine Seitennummerierung haben, dann ist es in Ordnung, aber mit Paginierung wird Ihr Filter auf der Client-Seite seltsam funktionieren, weil Sie nur eine Seite filtern – neuronet

+0

egal ob es einen Filter gibt oder ob der Benutzer ihn auswählt, Laden Sie Ihre Dokumente gefiltert (oder nicht) und paginiert von der Serverseite, wenn Sie viele Artikel haben werden Sie Probleme wie Kurzurlaub Timeouts und so weiter haben – neuronet