Angular.JS绑定不起作用

时间:2017-01-26 15:09:47

标签: javascript angularjs

我的设置非常简单

的index.html

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <meta charset="utf-8" />
</head>
<body ng-app="locationApp" ng-controller="locationController">
    <button ng-click="getLocation()">Get Location</button>
    <br />
    Latitude: {{city.Latitude}} <br />
    Longitude {{city.Longitude}} <br />
    <script src="Scripts/lib/angular.min.js"></script>
    <script src="Scripts/app.js"></script>
</body>
</html>

app.js:

var locationApp = angular.module('locationApp', []);

var locationController = locationApp.controller("locationController", function ($scope, $http) {
    $scope.getLocation = function () {
        $http.get("https://localhost:44320/api/location?cityName=sg").then(function (location) {
            $scope.city = location;
        });
    }
});

点击“获取位置”按钮后,我的约束{{city.Latitude}}和{{city.Longitude}}仍为空白。

我通过在Chrome中设置断点来尝试调试,我的值确实显示出来了。所以我不确定我错过了什么。有什么帮助吗?

我正在使用AngularJS 1.6

enter image description here

4 个答案:

答案 0 :(得分:2)

传递给then函数的参数是响应对象。响应对象包含数据:

$http.get("https://localhost:44320/api/location?cityName=sg").then(function (response) {
    $scope.city = response.data;
});

答案 1 :(得分:1)

该位置是否从Web服务返回响应?

你真的想做吗:

data

答案 2 :(得分:1)

您希望在get函数中返回$scope.city = location.data对象。

尝试{{1}}

答案 3 :(得分:-2)

在获得响应以启动新摘要后使用$ scope.apply()。