Javascript 如何修改UI Grids gridoptions.data
我使用UI网格显示大表(30-40列)和数千行。我通过基本上是json数组的websocket获取数据。 传入数据分为两部分,一部分是“添加”数组,其中包含直接推送到$scope.gridOptions.data的行。传入数据的另一部分是 “编辑”数组,由替换/修改现有$scope.gridOptions.data的行组成 添加部分非常简单,只需推到现有的gridOptions.data数组。但编辑部分很棘手。当前我正在传入数组中循环 在gridoptions数组上。这是最糟糕但有效的解决方案,有更好的方法吗 我认为在数组上使用“indexOf”函数,可以直接找到可以修改的数组索引。但是由于UI网格是基于角度的,所以所有三个数组 (add、edit和scope.gridOptions)包含唯一的$$hashKey,因此不能使用indexOf 我可以通过angular.toJson函数去掉$$hashkey而不产生任何副作用吗 我有一个字段来标识唯一的行,我可以用$$hashKey替换它,在UI网格中使用类似“跟踪方式”的内容吗 这是我的密码:Javascript 如何修改UI Grids gridoptions.data,javascript,angularjs,angular-ui-grid,Javascript,Angularjs,Angular Ui Grid,我使用UI网格显示大表(30-40列)和数千行。我通过基本上是json数组的websocket获取数据。 传入数据分为两部分,一部分是“添加”数组,其中包含直接推送到$scope.gridOptions.data的行。传入数据的另一部分是 “编辑”数组,由替换/修改现有$scope.gridOptions.data的行组成 添加部分非常简单,只需推到现有的gridOptions.data数组。但编辑部分很棘手。当前我正在传入数组中循环 在gridoptions数组上。这是最糟糕但有效的解决方案,
$scope.$on('test',function(event, data){
$scope.add(data.ADD);
$scode.edit(data.EDIT);
$scope.$apply();
});
$scope.edit=function(data){
for(var i = 0; i < data.length; i++) {
//var j = $scope.gridOptions.data.indexOf(data[i]);
//$scope.gridOptions.data[j] = data[i];
for(var j = 0; j < $scope.gridOptions.data.length; j++) {
if(data[i].iRowID == $scope.gridOptions.data[j].iROWID ) {
$scope.gridOptions.data[j] = data[i];
}
}
}
};
$scope.add=function(data){
for(var i = 0; i < data.length; i++) {
$scope.gridOptions.data.push(data[i]);
}
};
$scope.$on('test',函数(事件,数据){
$scope.add(data.add);
$scode.edit(data.edit);
$scope.$apply();
});
$scope.edit=函数(数据){
对于(var i=0;i