繁体   English   中英

Angular.JS绑定不起作用

[英]Angular.JS binding isn't working

我这里有一个非常简单的设置

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

在此处输入图片说明

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

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

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

您是否真的想做:

$scope.city = location.data;

您希望在get函数中返回data对象。

试试$scope.city = location.data

得到响应后,请使用$ scope.apply()开始新的摘要。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM