Angular js UI 网格没有更新新内容

Angular js UI grid is not getting updated with new content

我正在调用 $http.get 从服务器获取 angular ui 网格的新内容。在日期选择器中更改日期时,我触发一个 ng-change 事件以进行另一个 http 调用以获取新内容。调用成功,但网格未使用新内容更新。$scope.grid.core.notifyDataChange() 在 http 成功调用内部调用时抛出错误 back.Please 建议使用新内容更新网格的方法。

请查找plnkr代码。当我单击加载按钮时,我想使用 http 调用用新的 JSON 数据更新网格,但它没有更新网格。 http://plnkr.co/edit/S2A3scEoO6QIGFbru3Lr?p=preview

您的示例的问题出在 $httpsuccess 方法中(第 256-260 行)。

$http.get(...).success(
  function(data){
    $scope.roData = data;
});

您只是将数据放在范围 属性 ($scope.roData) 中,但是您没有对该范围进行任何操作 属性.

此外,您还试图通过以下行将错误的值分配给 uiGrid.gridOptions.data

if($scope.gridOptions.data ==='rData'){
  $scope.gridOptions.data = 'roData';
}

但是你犯了 2 个错误:

  1. 将变量视为字符串,这是行不通的。在你的 JS 文件中,你需要使用 $scope.nameOfVariable 访问你的范围,而不是使用它们的名称作为字符串,如 'nameOfVariable'.

  2. 您将这些行放在 success 方法之外,因此它们会在您实际获取数据之前执行。

我设法编辑了你的 plunker 并让它工作,你可以找到它 here。 我所做的是将您的台词放在一起并修复名称错误。我没有放任何 if 因为我不知道你想完成什么逻辑。

$http.get(...).success(
  function(data){
    $scope.roData = data;
    $scope.gridOptions.data = $scope.roData;
});