我试图用不同的项目替换ngrid中的项目。拼接单个项目可以工作。使用splice插入项:
$scope.myData.splice(1, 0, object);
同样适用。然而,splice(index,1,object)并不更新网格。我如何在ngrid上显示myData的更新?我在这里重复了这个问题
我认为这应该可以工作,我会把它作为bug报告给ng-grid
团队。如果我在源代码中将$watch
更改为$watchCollection
,它可以正常工作(ng-grid.js
中的3295行,3296行)(plnkr):
$scope.$on('$destroy', $scope.$parent.$watchCollection(options.data, dataWatcher));
$scope.$on('$destroy', $scope.$parent.$watchCollection(options.data + '.length', function() {
作为替代,你可以使用angular。复制以更改现有对象的属性,而不是将新对象拼接到:
中angular.copy(obj, $scope.myData[1]);