2016-04-22 2 views
0

У меня есть два массива, которые подключены к области видимости (HTTP GET и т.д.):двух объектов массивы и CONCAT

$scope.allShops 

, которые держат все детали магазина и

$scope.allCds 

, которые держат все cd's

оба работают нормально, и Ng-Repeat дает мне все выходные (индивидуально), мне нужно, однако мне хотелось бы построить поиск, который позволяет мне искать по имени cd и по имени магазина от того же поле поиска (usi чтобы отметить, если его магазин или компакт-диск, чтобы избежать путаницы). Так что я пришел с этим:

$scope.allShops = []; 
$scope.allCds = []; 

var jointData1 = ''; 
var jointData2 = ''; 
var SearchAll = ''; 

    var jointData1 = $scope.allShops; 
    console.info(jointData1); 

    var jointData2 = $scope.allCds; 
    console.info(jointData2); 

    var searchAll = jointData1.concat(jointData2); 
    console.info(searchAll) 

Но все журналы пусты, если я поместить журнал внутри succes.array функции он показывает мне объект данных, но ставящее бревно рамки снаружи не дает мне ничего. Как я могу получить данные за пределами функции массива и уметь объединять две области?

ответ

1

Ваши console.info звонки будут пустыми, потому что служба $ HTTP не получил данные еще обратно.

Вы должны были бы сделать это после того, как данные возвращаются с помощью обещания (.then())

+0

, нет ли способа обновить их, когда он получит данные? Могу ли я сделать это, возможно, в качестве примера? «Я загружаю сначала магазины и показываю их под поиском. Затем я загружу компакт-диски и добавлю их в список поиска.» CD-диски содержат много строк, поэтому я также занимаю некоторое время для загрузки. –

+0

получил его на работу, спасибо Карлос –

0

Просто попробуйте этот

function merge_options(obj1,obj2){ 
     var obj3 = {}; 
     for (var attrname1 in obj1) { 
      obj3[attrname1] = obj1[attrname1]; 
     } 
     for (var attrname2 in obj2) { obj3[attrname2] = obj2[attrname2]; } 
     return obj3; 
    } 
merge_options(obj1,obj2); 
+0

Как реализовать это, какова attrnameX? –

+0

просто передайте 2 объекта этой функции, и функция вернет объединенный объект – byteC0de

+0

attrname1 - это ключевое имя объекта – byteC0de

Смежные вопросы