Ich habe versucht, Filter zu schreiben, aber es war ziemlich frustrierend.
Hier sind ein paar Ressourcen, die ich ein ‚Brocken‘ zum Schreiben
https://groups.google.com/forum/#!topic/angular/IEIQok-YkpU https://groups.google.com/forum/#!topic/angular/gEv1-YV-Ojg
ich es ausprobiert mit einigem Erfolg filtern folgte. aber festgestellt, dass es einen Unterschied im Verhalten zwischen Versionen gibt
Die Methoden, die beschrieben werden, um einen $$ HashKey zu erzeugen, funktionieren nicht in der Version 1.1.5. Die erste Geige ist in Ordnung, während der zweite in Iterationsfehler erzeugt, obwohl der Code ist genau das gleiche:
http://jsfiddle.net/nRGTX/38/ - 1.0.3 Version
http://jsfiddle.net/nRGTX/39/ - 1.1.5 Version
Error: 10 $digest() iterations reached. Aborting!
Watchers fired in the last 5 iterations: [["fn: $watchCollectionWatch; newVal: 16; oldVal: 14"],["fn: $watchCollectionWatch; newVal: 18; oldVal: 16"],["fn: $watchCollectionWatch; newVal: 20; oldVal: 18"],["fn: $watchCollectionWatch; newVal: 22; oldVal: 20"],["fn: $watchCollectionWatch; newVal: 24; oldVal: 22"]]
Gibt es Workarounds/richtige Art, dies zu schreiben?
Danke James! Mit dem Cache ... Was passiert, wenn mehrere Chunk-Filter auf der Seite vorhanden sind? Ich habe hier einen kleinen Versuch gemacht http://jsfiddle.net/nRGTX/42/ und es scheint für 2 Chunk-Filter zu funktionieren, aber ich frage mich, warum das der Fall ist, da ich erwartet hätte, dass die Filter sich gegenseitig überlisten – zcaudate
I testete mit mehreren Filtern - die Lösung wurde so konzipiert, dass sie funktioniert. Beachten Sie, dass der Cache für jede Kombination aus Array und ChunkSize einen separaten Eintrag speichert, sodass zwei Filter mit unterschiedlichen Größen oder unterschiedlichen Arrays nicht in Konflikt stehen sollten. –