Google places autocomplete, wie zu bereinigen pac-container?
Ich bin über die google places autocomplete-Steuerelement, und es erstellt ein element für die drop-down mit einer Klasse pac-container
.
Ich bin mit der automatischen Vervollständigung in ein ember app, und wenn ich fertig bin mit es das DOM-element der AutoVervollständigen-gebunden ist, wird entfernt, aber die pac-container
element bleibt, dachte sogar, seine versteckte. Wenn ich das nächste mal instanziiert eine neue AutoVervollständigen, eine neue pac-container
erstellt wird und der alte bleibt. Ich kann nicht scheinen, etwas zu finden, wie eine dispose-Methode auf die API, so gibt es eine Möglichkeit, dies zu tun, richtig? Wenn nicht, ich glaube, ich sollte einfach jquery verwenden, um Klarheit der Elemente.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich hatte das gleiche problem, und hoffentlich Google schließlich gibt einen offiziellen Mittel der Bereinigung, aber jetzt war ich in der Lage das problem zu lösen, indem Sie manuell entfernen Sie die pac-container-Objekt einen Verweis auf die in der AutoVervollständigen-Klasse zurück von:
Den Verweis auf die pac-container element kann an gefunden werden:
Denen ich einfach aus dem DOM entfernt in meinem widget Destruktor:
Hoffe, das hilft.
Update
Ich bin mir nicht sicher, wie Google die Verschleierung funktioniert, aber Teile der oben genannten scheinen verschleiert, und offensichtlich schlägt fehl, wenn die Verschleierung oder die inneren Strukturen der API ändern. Kann nicht viel über das letztere, aber für ersteres könnte man zumindest Suche die Objekt-Eigenschaften von den zu erwartenden Kriterien. Wie wir sehen können, einige der Namen der Eigenschaften sind nicht verschleiert, während einige zu sein scheinen, wie z.B. "Mc" und "L". Um dies ein wenig mehr robust, schrieb ich den folgenden code:
Code erwartet, dass die Allgemeine Struktur gleich bleiben, während nicht unter Berufung auf die (möglicherweise) verborgenen Namen "Mc" und "L". Hässlich ich weiß, aber ich hoffe, Google behebt dieses Problem bald.
Meine Umsetzung code von oben ohne jquery.
Dies funktioniert jetzt , bis Google ändert den Namen der Klasse.
Baute diese rekursive Funktion zum suchen von element-position innerhalb autocomplete-Objekt.
Erste passende Objekt
Verwendung: