【发布时间】:2017-06-24 03:31:10
【问题描述】:
我正在将一个网站重写为 Angular JS 1.5.7,但代码不适用于某些数据绑定。
数据在我第一次启动服务器并提供文件时绑定,但如果我重新加载它不再适用于 {{currentWeather.temperature}}
这里是 HTML 和 JavaScript 条目。请注意,我已删除 API 密钥,但在我的本地环境中,console.log() 将显示预期数据,因此我知道 API 工作正常。
HTML:
<!DOCTYPE html>
<html style="background-color:#111111">
<head>
<title>Your Local Weather</title>
<link type="text/css" rel="stylesheet" href="css/stylesheet.css">
<link type="text/css" rel="stylesheet" href="vendors/bootstrap/dist/css/bootstrap.css">
<link type="text/css" rel="stylesheet" href="css/weather-icons.css">
<script src="vendors/angular/angular.js"></script>
<script src="vendors/jquery/dist/jquery.min.js"></script>
<script src="app/app.js"></script>
</head>
<body ng-app="localWeather" class="body">
<h1 class="text-primary" id="text-primary-custom" style="text-align: center">Your Local Weather</h1>
<div ng-controller="MainController">
<p> {{ userAddress.results[2].formatted_address }}
</p>
<p>{{currentWeather.temperature}}</p>
</div>
<footer>
<div class="copyright">Copyright 2017, David Taylor Jr.</div>
<div class="darksky">
<p>Weather Data provided by <a href="https://darksky.net/dev">Dark Sky</a> <img src="assets/images/darkskylogo.png" alt="Dark Sky Logo" height="28" width="28"></p>
</div>
</footer>
</body>
</html>
JavaScript:
var app = angular.module('localWeather', []);
var MainController = function($scope, $http) {
var onAddressComplete = function(address) {
$scope.userAddress = address.data;
};
function success(pos) {
var crd = pos.coords;
$scope.coords = crd;
$http.get('https://maps.googleapis.com/maps/api/geocode/json?latlng=' + crd.latitude + ',' + crd.longitude + '&key=API-KEY')
.then(onAddressComplete);
$.ajax({
url: 'https://api.darksky.net/forecast/API-KEY/' + crd.latitude + ',' + crd.longitude + "?units=us",
dataType: "jsonp",
success: function(data) {
$scope.currentWeather = data.currently;
console.log($scope.currentWeather);
}
});
}
navigator.geolocation.getCurrentPosition(success);
};
app.controller('MainController', MainController);
这是 console.log 数据:
Object { time: 1486433921, summary: "Mostly Cloudy", icon: "partly-cloudy-night", nearestStormDistance: 30, nearestStormBearing: 278, precipIntensity: 0, precipProbability: 0, temperature: 56.48, apparentTemperature: 56.48, dewPoint: 41.27, 7 more… }
【问题讨论】:
-
发布console.log数据(数据)
-
当您刷新先生时,您的
console.log($scope.currentWeather);是否正常工作? -
@Sajeetharan 我添加了 console.log 数据
-
@pryxen 是的,它每次都会正确记录数据。
标签: javascript html angularjs