Итак, я пытаюсь отобразить некоторые данные после успешного входа пользователя в внешний API.
Когда я вхожу в систему, иногда данные не обновляются должным образом, пока я не обновляю страницу; Кроме того, эта ошибка, похоже, сохраняется только после полного обновления. И я вышел из API.
сервис так:
angular.module('myApp')
.service('PlayerAPICall', function ($http, $q) {
// AngularJS will instantiate a singleton by calling "new" on this function
var deferred = $q.defer();
return {
getPlayerInfo: function() {
var getPlayerBasic = {
method: 'GET',
url: 'API_URL',
headers: {
'Accept': 'HEADER'
}
};
// This API call returns some basic player information for the current logged in user.
$http(getPlayerBasic).success(function(response) {
deferred.resolve(response);
});
return deferred.promise;
},
}
});
Моя директива для этого, как это (С соответствующей информацией)
angular.module('myApp')
.controller('NavbarCtrl', function($scope, PlayerAPICall) {
// Declare $scope objects.
$scope.playerBasic;
PlayerAPICall.getPlayerInfo().then(function(response) {
$scope.playerBasic = response;
});
})
Частичные выглядит следующим образом:
<div class='links-container'>
<div class='row'>
<div class='inputs'>
<form ng-submit='submit()'>
<p ng-show='playerBasic.first_name != null' class='md-text logout-container'>
Hello, {{playerBasic.first_name}}
<span class='logout-span'><button class='btn btn-primary logout-btn' type='submit' ng-model='submit'>Logout</button></span></p>
<p ng-show='playerBasic.first_name == null' class='md-text logout-container'>
Hello, {{playerBasic.email}}
<span class='logout-span'><button class='btn btn-primary logout-btn' type='submit' ng-model='submit'>Logout</button></span>
</p>
</form>
</div>
</div>
Хотя я знаю, что для этого пользователя существует переменная имени, она иногда говорит:
'Hello,' Вместо 'Hello, name'.
Я не совсем уверен, почему масштаб $ не меняется.
Эта реализация кажется (до сих пор) решает проблему, которую я имею. И утечка памяти из моей реализации ... хорошо знать. Я сделаю это с этого момента :) – Tulun