2016-03-02 18 views
0

我从后端获取数组值。在这个后端数组中,我添加了一个新值,其中一些属性从后端数组值中获取。经过我unshift这个值我安慰它。当我安慰它不同于我所看到的highlightexpanded之一。Angularjs - 将一个对象推入或移出一个数组的正确方法是什么?

这里是截图:

看到PhaseName你会看到All当这样扩大了它说明不了什么财产。

这是什么问题?怎么解决?

enter image description here

这里是我的代码:

$scope.project = project; 

       var staticPhase = { //custom properties 

        "DisciplineId": "0", 
        "DisciplineName": "All", 
        "PhaseId": "0", 
        "PhaseName": "All" 
       } 

       var filterById = angular.copy($filter('filter')($scope.project.ProjectSummaryFilter, { ProjectId : $scope.projectId })[0]); 
//getting some of property from server object and assigning;- 
       staticPhase.ProjectId = filterById.ProjectId; 
       staticPhase.ProjectName = filterById.ProjectName; 
       staticPhase.SubProjectId = filterById.SubProjectId; 
       staticPhase.SubProjectName = filterById.SubProjectName; 

       $scope.project.ProjectSummaryFilter.unshift(staticPhase); 
+1

建议你创建演示可复制这一点。可能只是一个控制台怪癖,你没有显示你登录到控制台的位置。请注意,console.log()不会创建快照拷贝 – charlietfl

+0

在旁边注释...可能想要查看'angular.extend()'来简化合并对象 – charlietfl

+0

您的问题不是很清楚。对Angular使用'push()'或'unshift()'w/respect没有什么特别之处。我想你的问题是,你期望在控制台中看到的内容与你期望在UI中看到的内容不符。但是,您不会向我们展示登录到控制台的部分,也不会向我们展示用于UI的HTML。有关console.log()不创建快照副本的说法可能是您的问题,但没有足够的信息说明w/surety。 –

回答

相关问题