Ho un trucco per questo, ma fondamentalmente quello che sta facendo è geo-codificare un indirizzo che viene inserito in una casella di testo. Dopo aver inserito l'indirizzo e premuto "invio", la dom non si aggiorna immediatamente, ma attende un'altra modifica alla casella di testo. Come faccio ad aggiornare la tabella subito dopo l'invio? Sono molto nuovo per Angular, ma sto imparando. Lo trovo interessante, ma devo imparare a pensare in modo diverso.I j angolari non aggiornano dom quando previsto
Ecco il violino e le mie controller.js
var myApp = angular.module('geo-encode', []);
function FirstAppCtrl($scope, $http) {
$scope.locations = [];
$scope.text = '';
$scope.nextId = 0;
var geo = new google.maps.Geocoder();
$scope.add = function() {
if (this.text) {
geo.geocode(
{ address : this.text,
region: 'no'
}, function(results, status){
var address = results[0].formatted_address;
var latitude = results[0].geometry.location.hb;
var longitude = results[0].geometry.location.ib;
$scope.locations.push({"name":address, id: $scope.nextId++,"coords":{"lat":latitude,"long":longitude}});
});
this.text = '';
}
}
$scope.remove = function(index) {
$scope.locations = $scope.locations.filter(function(location){
return location.id != index;
})
}
}
Grazie, proprio quello che mi serviva. Ho imparato qualcosa di nuovo. – bjo
Ciao, ho esattamente lo stesso problema, ma sto cercando di farlo all'interno di una direttiva e $ scope. $ Apply non funziona per me lì. Non so se mi manchi qualcosa. Per favore aiuto. – Rober
@Rober Puoi pubblicare un Plunker? –