【发布时间】:2016-09-28 07:27:03
【问题描述】:
我在 angularjs 中有一个包含 $scope 对象的数组。我成功地将对象推入数组。它显示数组是控制台中的形式,但我无法像 javascript 中的普通数组那样检索数组的最后一个对象。以下是我的代码。
$scope.messages = [];
$http.get("http://localhost/php/retrieve_message.php").success(function (data)
{
for (i = 0; i < data.length; i++)
{
$scope.messages.push(data[i]);
console.log("success");
}
}).error(function ()
{
console.log("error");
});
console.log([$scope.messages); console.log($scope.messages[$scope.messages.length - 1]);
【问题讨论】:
-
$http是一种异步方法。如果您在其中console.log,则返回空或未定义。 -
但我用 console.log($scope.messages);它显示一个对象列表。现在的问题是我想在 $scope.messages 数组中获取最后一个对象
-
就像@Davide 说的那样——方法是异步的,这意味着你不能在get 方法之外console.log 它并怀疑它已经完成了从服务器拉取数据。跨度>
-
是的,正如大卫所说,$http 是异步的,这意味着它将触发 http 请求并继续执行其余代码。收到响应后,将执行成功/失败函数。
-
@ŁukaszTrzewik 谢谢。今天学习新事物
标签: javascript angularjs arrays object