用JavaScript'splice'方法替换ngGrid中的行 - angularjs,nggrid

时间:2014-08-06 17:44:50

标签: javascript angularjs ng-grid

我正在尝试用不同的项目替换ngGrid中的项目。拼接单个项目有效。使用splice插入项目:

$scope.myData.splice(1, 0, object); 

也有效。但是,splice(index,1,object)不会更新网格。如何在ngGrid上显示myData的更新?我已经复制了问题here

1 个答案:

答案 0 :(得分:0)

我认为这应该有用,我会将其作为错误报告给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.copy更改现有对象的属性,而不是将新对象拼接在:

angular.copy(obj, $scope.myData[1]);