我正在尝试用不同的项目替换ngGrid中的项目。拼接单个项目有效。使用splice插入项目:
$scope.myData.splice(1, 0, object);
也有效。但是,splice(index,1,object)不会更新网格。如何在ngGrid上显示myData的更新?我已经复制了问题here。
答案 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]);