ich in einer AngularJS einzigen Seite Anwendung benötigen einen Google-Plätze zum automatischen Vervollständigung Eingang, die als Dienst ausgeführt wird und wird einmal zur Laufzeit initialisiert werden. Bei der Navigation werden das mit goolge-places initialisierte Element und der entsprechende Umfang zerstört.Nachnutzung Google-Orte zum automatischen Vervollständigung Eingabe nach Seitennavigation
Ich werde wiederverwenden die Orte Eingabefeld nach auf die Seite navigieren, um die Orte, die automatische Vervollständigung Eingabefeld enthält. Mit der Methode element.replaceWith()
funktioniert es gut.
nachdem das Element zu ersetzen, kann ich zurückgesetzt die Eingabe nicht durch die "Reset" -Taste. Wie kann ich den neu generierten Bereich an die Schaltfläche "Zurücksetzen" und die alten Bereichsvariablen binden? Weil der alte Bereich und die alten Elemente durch das Navigationsereignis zerstört werden?
.factory('myService', function() {
var gPlace;
var s, e;
var options = {
types: [],
componentRestrictions: {country: 'in'}
};
function init() {
}
function set(element, scope) {
console.log('set');
if (!gPlace) {
e = element;
gPlace = new google.maps.places.Autocomplete(element[0], options);
google.maps.event.addListener(gPlace, 'place_changed', function() {
scope.$apply(function() {
scope.place.chosenPlace = element.val();
});
});
} else {
element.replaceWith(e);
}
}
init();
return {
'init':init,
'set':set
};
});
das Navigations (Element und Umfang zu zerstören) wird durch die Richtlinie in dieser ng-if
Plunk simuliert werden, die durch die „Entfernen“ ausgelöst wird.
Dank für die Hilfe, aber ich werde den letzten Platz nicht retten. Ich muss die Stelleneingabe jedes Mal ohne wiederholte Initialisierung wiederverwenden. – usher