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