2014-09-14 2 views
4

Итак, мы знаем, что ниже код работает:Добавить список элементов в массив Angular JS?

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

         $scope.HouseBasket = data; 
       }); 

Однако, если мы хотим, чтобы добавить данные в текущей корзины, которая:

  $scope.HouseBasket += data; 

Это приведет к ошибкам, я не хочу использовать foreach loop to push() все данные в $ scope.HouseBasket есть ли более быстрый способ добавить список объектов в угловой список?

+1

что медлит перекручивание и толкая ... http://devpro.it/examples/loopsbench/ – calebboyd

+1

В вашем случае вам просто нужно 'concat' почему даже loop while .. – PSL

+0

Использование более быстрого метода вместо цикла, который я искал, и – Ricc

ответ

9

есть более быстрый способ, чтобы добавить список объектов в угловой список

Насколько велика ваши данные?, Ну простой цикл не будет медленнее, что большинство возможных решений, но если ваш список назначений достаточно велик, вы можете использовать цикл while, постепенно выпадающий (или перемещающийся) из массива и продвигающийся к месту назначения.

$ scope.HouseBasket + = данные; Это может привести к ошибкам

Вы ищете array.concat$scope.HouseBasket = $scope.HouseBasket.concat(data);


Если вы хотите, чтобы достичь этого в одной строке вы можете: -

использование function.apply подтолкнуть список сразу к источник.

 [].push.apply($scope.HouseBasket, data); 

или

 $scope.HouseBasket = $scope.HouseBasket.concat(data); 
Смежные вопросы