2017-01-23 78 views
-1

我正在使用RC3,并且已经设置了对象的变量,并且该视图不会更新。我从Google获取一个对象需要一些时间来检索。视图没有使用新的变量数据更新

在pre-RC版本上,当Google返回结果时,视图会自动更新。

具体来说,这里是我用来从Google检索对象的代码。 控制台打印输出显示Google返回的数据,但视图不会更新以表示更改。

var service = new google.maps.DistanceMatrixService; 
service.getDistanceMatrix({ 
    origins: [p1], 
    destinations: [p2], 
    travelMode: google.maps.TravelMode.DRIVING, 
    unitSystem: google.maps.UnitSystem.METRIC, 
    avoidHighways: false, 
    avoidTolls: false 
}, function(response, status) { 
    if (status !== google.maps.DistanceMatrixStatus.OK) { 
     alert('Error: ' + status); 
     let googDist = google.maps.geometry.spherical.computeDistanceBetween(p1, p2); 
     return Math.round(googDist/1000 *10)/10; 
    } else { 
     //console.log(response.rows[0].elements[0].distance.text); 
     this.car.drivingDistance = response.rows[0].elements[0].distance.text; 
    } 
}); 
console.log(this.car.drivingDistance); 

控制台显示Google的结果,但视图不更新。

谢谢你们。在打字稿这样

+0

更换请分享模板代码显示的数据 –

+0

{{car.drivingDistance}} – Josh

+0

非常基本的东西角。看不出它对问题有何帮助 – Josh

回答

0
var service = new google.maps.DistanceMatrixService; 
service.getDistanceMatrix({ 
    origins: [p1], 
    destinations: [p2], 
    travelMode: google.maps.TravelMode.DRIVING, 
    unitSystem: google.maps.UnitSystem.METRIC, 
    avoidHighways: false, 
    avoidTolls: false 
}, (response, status) => { 
    if (status !== google.maps.DistanceMatrixStatus.OK) { 
     alert('Error: ' + status); 
     let googDist = google.maps.geometry.spherical.computeDistanceBetween(p1, p2); 
     return Math.round(googDist/1000 *10)/10; 
    } else { 
     //console.log(response.rows[0].elements[0].distance.text); 
     return response.rows[0].elements[0].distance.text; 
    } 
}); 

调用函数与() => { }