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



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

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

示例的问题在success$scope.roData方法内部(第256-260行)。

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

在这里,您只是将数据放在一个scope属性(uiGrid.gridOptions.data)中,但不使用该scope属性执行任何操作。

此外,您试图用以下行为$scope.nameOfVariable分配错误的值:

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

但你犯了两个错误:

  1. 将变量视为字符串,这是行不通的。在JS文件中,您需要使用'nameOfVariable'访问您的作用域,而不是像success那样使用它们的名称作为字符串。

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

我设法编辑了你的plunker并使其工作,你可以在这里找到它。我所做的就是把你的台词拼在一起,并修复名字错误。我没有放任何CCD_9,因为我不知道你想要实现什么逻辑。

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

最新更新