将项目列表附加到Angular JS数组中?

Ric*_*icc 6 angularjs

所以我们知道下面的代码有效:

  $http({ method: 'POST', url: url_getMoreHouse })
        .success(function (data) {
                    alert('Works');
                    console.log(data);

                       $scope.HouseBasket = data;
                });
Run Code Online (Sandbox Code Playgroud)

但是,如果我们想将数据附加到当前的篮子中,那么:

         $scope.HouseBasket += data;
Run Code Online (Sandbox Code Playgroud)

这会导致错误,我不想使用foreach循环每个数据push()$ scope.HouseBasket中是否有更快的方法将Object列表添加到角度列表中?

PSL*_*PSL 11

是否有更快的方法将对象列表添加到角度列表中

你的数据有多大?,一个简单的for循环不会比大多数可能的解决方案慢,但是如果你的目标列表足够大你可以使用while循环逐渐弹出(或移位)数组并推送到目的地.

$ scope.HouseBasket + = data; 这会导致错误

您正在寻找array.concat $scope.HouseBasket = $scope.HouseBasket.concat(data);


如果你想在一行中实现这一目标,你可以: -

使用function.apply将列表一次性推送到源.

     [].push.apply($scope.HouseBasket, data);
Run Code Online (Sandbox Code Playgroud)

要么

     $scope.HouseBasket = $scope.HouseBasket.concat(data);
Run Code Online (Sandbox Code Playgroud)