在控制器中,当我从服务中获取资源时
$scope.myVariable = MyObject.get($scope.id);
thenmyVariable
未定义为 MyObject ,因为它将在稍后解决。有没有办法检查控制器中的变量(不在服务中),例如调试或日志记录?基本上我正在寻找类似的东西
console.log("myVariable now has property "+ $scope.myVariable.myProperty);
在控制器中,当我从服务中获取资源时
$scope.myVariable = MyObject.get($scope.id);
thenmyVariable
未定义为 MyObject ,因为它将在稍后解决。有没有办法检查控制器中的变量(不在服务中),例如调试或日志记录?基本上我正在寻找类似的东西
console.log("myVariable now has property "+ $scope.myVariable.myProperty);
从 AngularJS Doc 到$resource,你可以读到:
重要的是要意识到调用$resource对象方法会立即返回一个空引用。从服务器返回数据后,现有参考将填充实际数据。这是一个有用的技巧,因为通常将资源分配给模型,然后由视图呈现。拥有一个空对象不会导致渲染,一旦数据从服务器到达,那么该对象就会被数据填充,并且视图会自动重新渲染自身以显示新数据。这意味着在大多数情况下不必为操作方法编写回调函数。
但是,如果您需要$scope.myVariable
在填充后打印 的值,则必须定义一个回调函数:
$scope.myVariable = MyObject.get($scope.id, function(myVar){
// From now, myVar == $scope.myVariable
console.log("myVariable now has property "+ myVar.myProperty);
});