AngularJS - 如何在我的控制器中使用通过 Factory GET 请求检索到的数据?
AngularJS - How can I use the data retrieved using a Factory GET request in my controller?
我创建了一个 Angular 工厂来获取 JSON 数据。我使用 $resource
和 get
方法从服务器检索此 JSON 对象。对象本身包含子对象。
我一直在尝试在我的控制器中使用我通过这个工厂检索到的数据,但是当我调用 $scope
变量时,我得到了这个
的一些变化
Cannot read property propertyName of undefined.
当我将它记录到控制台时,我可以阅读 属性,所以我不明白为什么它就消失了。为了对其进行诊断,我尝试通过引用传递另一个变量。
问题是我可以通过登录控制台找到对象及其键。问题是当我尝试使用此数据时,对象键变为 undefined
。我不知道为什么会这样。
NewOrder.get({"id": $stateParams.loopId, "orderId": $stateParams.orderId}).$promise.then(function(order) {
$scope.myData = order["data"];
console.log("this is an order", order);
});
这是我的工厂
angular.module('myApp')
.factory('NewOrder', function($resource) {
return $resource('/api/loops/:id/orders/:orderId');
});
我发现如果我创建一个新变量并将其设置为等于 myData
的值,我的密钥中的对象就会消失。
这个有效
$scope.getOrder = function() {
console.log($scope.myData);
}
=> Object {recruitingLeague: "NAHL", playerPosition: "LeftDefense", playerDOB: Object, playerHeight: Object, playerWeight: Object…}
创建一个新变量并通过引用传递前一个变量的值(用于诊断目的)不会。
$scope.newData = $scope.myData;
$scope.getOrder = function() {
console.log($scope.newData);
}
=> undefined
我无法理解为什么我从服务器检索的对象突然消失了。
该服务是异步的,因此 $scope.myData
在
时不存在
$scope.newData = $scope.myData;
发生,但在
时已经存在
$scope.getOrder = function() {
console.log($scope.myData);
}
被调用。
我创建了一个 Angular 工厂来获取 JSON 数据。我使用 $resource
和 get
方法从服务器检索此 JSON 对象。对象本身包含子对象。
我一直在尝试在我的控制器中使用我通过这个工厂检索到的数据,但是当我调用 $scope
变量时,我得到了这个
Cannot read property propertyName of undefined.
当我将它记录到控制台时,我可以阅读 属性,所以我不明白为什么它就消失了。为了对其进行诊断,我尝试通过引用传递另一个变量。
问题是我可以通过登录控制台找到对象及其键。问题是当我尝试使用此数据时,对象键变为 undefined
。我不知道为什么会这样。
NewOrder.get({"id": $stateParams.loopId, "orderId": $stateParams.orderId}).$promise.then(function(order) {
$scope.myData = order["data"];
console.log("this is an order", order);
});
这是我的工厂
angular.module('myApp')
.factory('NewOrder', function($resource) {
return $resource('/api/loops/:id/orders/:orderId');
});
我发现如果我创建一个新变量并将其设置为等于 myData
的值,我的密钥中的对象就会消失。
这个有效
$scope.getOrder = function() {
console.log($scope.myData);
}
=> Object {recruitingLeague: "NAHL", playerPosition: "LeftDefense", playerDOB: Object, playerHeight: Object, playerWeight: Object…}
创建一个新变量并通过引用传递前一个变量的值(用于诊断目的)不会。
$scope.newData = $scope.myData;
$scope.getOrder = function() {
console.log($scope.newData);
}
=> undefined
我无法理解为什么我从服务器检索的对象突然消失了。
该服务是异步的,因此 $scope.myData
在
$scope.newData = $scope.myData;
发生,但在
时已经存在$scope.getOrder = function() {
console.log($scope.myData);
}
被调用。