2015-05-28 6 views
8

Nach dem Wischen (wie in dem Video unten gezeigt) blinken die Bilder der vorherigen Karte ein wenig, was ziemlich nervig ist und hässlich aussieht. Irgendwelche Vorschläge/Ideen, um das zu beheben? Danke im Voraus!Neue Karte zeigt Bilder von vorheriger Karte nach dem Wischen

Beispiel Video (weil es der einzige Weg, das Problem zu erklären)

https://www.youtube.com/watch?v=44fFZrU83qk

+0

Wahrscheinlich werden die Bilder nach Abschluss der Animation aktualisiert. Teilen Sie Ihren Code. – Constant

+0

@Constant http://pastebin.com/Pz1EriZC – vlovystack

+0

ich kann kein blinkendes sehen! Sieht perfekt aus für mich! – arielf

Antwort

1

Ihr Prozess ist die folgende: - initiieren Controller: Wert Loading = false + getDatas (initiieren Bild) - Wenn Benutzer wischen, dann getNewDatas

während newDatas bekommen, "putzen" Sie Ihre aktuellen Daten nicht, und daher bleibt das Bild gleich, bis das Versprechen, das Bild zu initiieren, getan wird.

Sie haben 2 Lösungen jetzt: - oder Sie für das Versprechen warten, dass das Bild initiieren getan werden - oder Sie Ihre Daten reinigen, während „Swipe“

Wenn Sie sauber, es wahrscheinlich ist, dass Sie Habe ein kleines, leeres Bild, BEVOR das Versprechen gemacht wurde, deshalb schlage ich vor, dass du auf das Versprechen des Bildes wartest, bevor du das Laden beendest.

Ihre Lösung ist daher für diese Funktion verknüpft werden

$scope.change_image = function($event){ 
     angular.element(document.getElementById('main_image')).attr("src", angular.element($event.target).attr('src')); 
    }; 

Wo man es so nennen kann? Wie ? Ich konnte keinen Hinweis in Ihrem pastebin finden

1

Gibt es einen bestimmten Grund, warum Sie nicht die tinder-cards ion verwenden? Es könnte dein Leben ein bisschen einfacher machen.

Unabhängig davon, ob Sie es verwenden, können Sie beim Laden der App direkt die Daten für zwei Karten (und Bilder laden) starten, so dass Sie Card1 direkt anzeigen können, ohne dass Sie Daten anfordern müssen. und gleichzeitig eine Anfrage für die Daten einer dritten Karte starten, um für den nächsten Durchzug bereit zu sein.