0
我得到一個變量,由$ http.get後面跟着.then,但是當我想在{{variable}}的前端使用它時 - 它變成空的。我正在使用Angular 1.6.4。
我認爲這是一個異步的問題,所以我把它包裹起來,然後它應該現在工作。
控制器:
mainApp.controller('navBarController', ['$scope', '$http', '$q', function($scope, $http, $q){
$scope.profileID = '';
var getProfileID = function(){
return $http.get('/session');
};
getProfileID().then(function(res) {
console.log($scope.profileID = res.data.facebookProfileId);//this gives me the profileID as expected
$scope.profileID = res.data.facebookProfileId;
});
}]);
HTML:
<div class="navbar-collapse collapse" id="searchbar">
<ul class="nav navbar-nav navbar-right" ng-controller="navBarController">
<li><a href="/profile#/profile{{ profileID }}">Profile</a></li><!--the profileID is empty here-->
</ul>
</div>
我是缺少在這裏?
你試過調試嗎?首先將隨機值放在你的'profileID'上,看看它是否真的是一個異步問題? – Roljhon
好主意,它隔離與異步無關的問題 - 謝謝。然而,到底發生了什麼?我會繼續環顧四周,但如果你能想到什麼,請大聲喊叫。 –
使用'ng-href',同樣將值打印到控制檯以確保它的定義 – svarog