所以我们知道下面的代码有效:
$http({ method: 'POST',url: url_getMoreHouse }) .success(function (data) { alert('Works'); console.log(data); $scope.HouseBasket = data; });
但是,如果我们想将数据附加到当前的篮子中,那么:
$scope.HouseBasket += data;
这会导致错误,我不想使用foreach循环将每个数据push()到$scope.HouseBasket中是否有更快的方法将Object列表添加到角度列表中?
解决方法
is there a faster way to add a list of Object into the angular list
你的数据有多大?,一个简单的for循环不会比大多数可能的解决方案慢,但是如果你的目标列表足够大你可以使用while循环逐渐弹出(或移位)数组并推送到目的地.
$scope.HouseBasket += data; This will cause errors
您正在寻找array.concat $scope.HouseBasket = $scope.HouseBasket.concat(data);
如果你想在一行中实现这一目标,你可以: –
使用function.apply将列表一次性推送到源.
[].push.apply($scope.HouseBasket,data);
要么
$scope.HouseBasket = $scope.HouseBasket.concat(data);