【发布时间】:2016-04-05 07:26:14
【问题描述】:
我有这个控制器来保存个人的一些细节。我有一个单独的存储库 EntityRepository,其中定义了从数据库获取用户性别的函数。
函数响应工作正常,当我在函数响应内的控制台上打印性别时,它工作正常(console.log("inside : ", $scope.userGender);)。
但在函数之外,我得到的值不是未定义的(console.log("outside : ", $scope.userGender);)
.controller('individualDetailsCtrl', function($scope, $rootScope, $location, EntityRepository) {
$scope.userGender = "";
$scope.entity = {
name: "",
gender: $scope.userGender,
dob: "",
pan: ""
};
EntityRepository.getUserGender()
.then(function(response){
$scope.userGender = response.data.gender;
console.log("inside : ", $scope.userGender);
})
.catch(function(errorResponse) {
$scope.error = errorResponse.data
});
console.log("outside : ", $scope.userGender);
});
我想从 $scope.entity.gender 的响应中保存性别,但我无法在函数范围之外访问 $scope.userGender 的值。
由于 $scope 是在控制器范围内定义的,我认为它应该能够在函数响应之外访问其值。
【问题讨论】:
标签: javascript angularjs angularjs-scope