我使用RC3并且我已经设置了一个对象的变量,但这并没有对视图进行更新。我正在从Google检索一个需要一些时间来检索的对象。
在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)
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;
}
});
在TypeScript中调用此类函数将替换为() => { }