查看不会使用新的可变数据进行更新

时间:2017-01-23 03:18:55

标签: angular typescript ionic2

我使用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的结果,但视图不会更新。

谢谢你们。

1 个答案:

答案 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中调用此类函数将替换为() => { }