0
我从后端获取数组值。在这个后端数组中,我添加了一个新值,其中一些属性从后端数组值中获取。经过我unshift
这个值我安慰它。当我安慰它不同于我所看到的highlight
到expanded
之一。Angularjs - 将一个对象推入或移出一个数组的正确方法是什么?
这里是截图:
看到PhaseName
你会看到All
当这样扩大了它说明不了什么财产。
这是什么问题?怎么解决?
这里是我的代码:
$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);
建议你创建演示可复制这一点。可能只是一个控制台怪癖,你没有显示你登录到控制台的位置。请注意,console.log()不会创建快照拷贝 – charlietfl
在旁边注释...可能想要查看'angular.extend()'来简化合并对象 – charlietfl
您的问题不是很清楚。对Angular使用'push()'或'unshift()'w/respect没有什么特别之处。我想你的问题是,你期望在控制台中看到的内容与你期望在UI中看到的内容不符。但是,您不会向我们展示登录到控制台的部分,也不会向我们展示用于UI的HTML。有关console.log()不创建快照副本的说法可能是您的问题,但没有足够的信息说明w/surety。 –