1

Ich habe eine ng-repeat etwa so:AngularJS - ng-Wiederholung nicht aktualisiert richtigen Ergebnissen Filter mit

<div class="event block block--fullwidth nga-default nga-stagger nga-fade" data-ng-repeat="event in (filteredEvent = (Events.events | filter:Events.query | myDateRange:Events.dateFrom:Events.dateTo:Events.specificDate | orderBy:Events.orderEvent)) | limitTo:Events.limit"></div> 

Und ich habe auch ein paar Suchfilter Felder oben auf der Seite (Ein-/wählen Felder), mit denen der Benutzer seine Suchergebnisse filtern kann. Ein Beispiel ist das Suchfeld (wie unten:

<input id="txt1" class="input--fullwidth" type="text" data-ng-model="Events.query.TotalLocation" placeholder="Enter a region, place or postcode" data-ng-change="Events.limit = 6" /> 

Es Art arbeitet, in dem Sinne, dass die Ergebnisse aktualisiert, wenn Sie in das Suchfeld eingeben beginnen Wenn Sie jedoch Backspace drücken, so dass die Suche. Box ist leer, es wird nicht auf die ursprüngliche Suchlänge zurückgesetzt (beim ersten Laden könnte es 992 sein, aber beim Zurückgehen auf 940). Dies scheint bei vielen meiner Suchfilter zu funktionieren.

I kann einfach nicht funktionieren, und danke für jede Hilfe.

Antwort

1

Aus irgendeinem Grund war die Lösung wirklich seltsam.Mit der Anpassung meiner ng-Wiederholung, um eine Daten attr, die die ng-Wiederholung hatte Variable schien es zu funktionieren. Z.B.

<div class="event block block--fullwidth nga-default nga-stagger nga-fade" data-ng-repeat="event in (filteredEvent = (Events.events | filter:Events.query | myDateRange:Events.dateFrom:Events.dateTo:Events.specificDate | orderBy:Events.orderEvent)) | limitTo:Events.limit" data-var="{{filteredEvent.length}}"></div>