Angular-$http范围问题
Angular - $http Scope Issue
我目前正在使用Angular,$http
有问题。我的几个控制器只使用$http
文件,将结果应用于$scope.variable
,但在我当前的控制器上,我遇到了问题。
app.factory('getUserData', function($http) {
var user = [],
url = 'res/asp/manageaccount.asp?action=',
custid = getCookie('custid');
return {
getUserInfo: function() {
url += 'getUserInfo&custid=' + custid;
return $http.get(url);
},
getShipInfo: function(callback) {
url += 'getShipInfo&custid=' + custid;
return $http.get(url).then(function(response) {
user = response.data;
return user;
});
}
};
});
app.controller('accountController', ['$scope', 'getUserData',
function($scope, getUserData) {
$scope.custid = getCookie('custid');
getUserData.getUserInfo().then(function(data) {
$scope.userInfo = data.data;
console.log($scope.userInfo); // Logs the array with the object data I need
});
// Accessing $scope.userInfo here is 'undefined'
}
]);
我尝试了两种不同的方法来返回数据。数据返回良好,但我无法在页面中访问它——只能在定义$scope.userInfo
的范围内访问。获取数据不是问题,而是在页面上显示数据。
<div class="container" ng-controller="accountController">
<h1>Welcome Back, {{userInfo.fname}}!</h1> <!-- Doesn't work -->
<div class="row" ng-controller="cartController">
<!-- This works fine -->
</div>
<div class="row">
{{userInfo.fname}} <!-- Doesn't work -->
{{custID}} <!-- Works -->
</div>
</div>
TL;DR
$http
返回数据,但无法在我的页面中使用{{userInfo.fname}}
访问数据。我看了很多SO问题/答案,这一个似乎是最相关的。
我想这就是您想要的答案。您应该将.then(data)
重命名为.then(response)
以避免混淆。response.data[0]
应该是目标
app.controller('accountController', ['$scope', 'getUserData', function($scope, getUserData)
{
$scope.custid = getCookie('custid');
getUserData.getUserInfo().then(function(response)
{
$scope.userInfo = response.data[0];
});
}]);
相关文章:
- setInterval游戏循环的范围问题
- Javascript innerHTML超出范围的问题
- AngularJs避免范围界定问题
- firefox中的Javascript事件范围问题
- AngularJS指令范围约束问题重复出现
- jQuery“this”范围问题
- 可以't在quizz页面范围问题上用最终分数更新变量
- JavaScript 函数变量范围问题
- 奇怪的可变范围问题
- JavaScript 中变量范围的问题
- 主干.js(具有 Require.js)变量/范围访问问题
- 递归承诺调用 - 内存范围变量问题
- JQuery 范围滑块步进更改问题
- AngularJS中的范围问题
- 如何在 JavaScript for D3.js 中解决这样的范围问题
- 我可以设置这个吗'某事'在该服务中动态创建的嵌套对象中的服务?(可能是范围问题)
- Highcharts列范围工具提示问题
- 在函数中提示未定义返回.(问题)范围
- 访问Javascript's变量:涉及Javascript, JQuery和PHP/MySQL的问题&范围
- JavaScript 闭包问题..范围