2016-03-02 44 views
0

我正在尝试unshift一个对象到现有的数组列表。但是当我这样做,我得到的价值之一是empty。在angularjs中将新对象推送到现有数组的正确方法是什么?angularjs - 自定义属性变为空

这里是我的代码:

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