サイトをAngular JS 1.5.7に書き直しています。コードが一部のデータバインディングで動作していません。Angular JSのデータバインディングの一部が機能しないのはなぜですか?
データは、私は、サーバーを起動し、ファイルを提供初めてと結合していないが、私はリロードする場合、それはもはや{{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データ(データ) – Sajeetharan
を更新すると、 'console.log($ scope.currentWeather);は正常に動作しますか? – pryxen
@Sajeetharan console.logデータを追加しました。 – davidtaylorjr