2016-03-02 4 views
0

Я пытаюсь сделать unshift объектом существующего списка массивов. Но когда я делаю это, я получаю одно из значений: empty. Каков правильный способ для ввода нового объекта в существующий массив в angularjs?angularjs - custom property be empty

вот мой код:

var staticPhase = { 

        "DisciplineId": "0", 
        "DisciplineName": "All", 
        "PhaseId": "0", 
        "PhaseName": "All" // but this is being converted as '' 
       } 

      if($scope.firstLoad) { 

       var newList = angular.copy($scope.project.ProjectSummaryFilter); //taking a copy of existing array 

       var filterById = $filter('filter')(newList, { ProjectId : $scope.projectId })[0]; 

       staticPhase.ProjectId = filterById.ProjectId;   
       staticPhase.ProjectName = filterById.ProjectName;   
       staticPhase.SubProjectId = filterById.SubProjectId;   
       staticPhase.SubProjectName = filterById.SubProjectName; 

      } 


      var phaseList = $scope.project.ProjectSummaryFilter; 
          phaseList.unshift(staticPhase) //adding static phase to array; 

ответ

1

Стандартный JavaScript push() метод должен работать:

var phaseList = $scope.project.ProjectSummaryFilter; 
phaseList.push(staticPhase); 
+0

'unshift' не будет работать? Я хотел бы добавить массив как первый в списке – 3gwebtrain

+0

, но я использую 'push' - не работает. получение результата как пустого ('') – 3gwebtrain

+0

Да, unshift() должен работать. Можете ли вы опубликовать остальную часть своего кода? (часть, где вы обращаетесь к массиву и получаете пустой) – cbush06