Angular js UI网格未使用新内容进行更新

时间:2015-11-14 06:11:19

标签: angularjs angular-ui-grid

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

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

1 个答案:

答案 0 :(得分:1)

您的示例的问题在于$http的{​​{1}}方法(第256-260行)。

success

您只是将数据放在范围属性($http.get(...).success( function(data){ $scope.roData = data; }); )中,但是您没有对该范围属性执行任何操作。

此外,您尝试使用以下行向$scope.roData分配错误的值:

uiGrid.gridOptions.data

但你犯了两个错误:

  1. 将变量视为字符串,这不起作用。在您的JS文件中,您需要使用if($scope.gridOptions.data ==='rData'){ $scope.gridOptions.data = 'roData'; } 访问您的范围,而不是将其名称用作$scope.nameOfVariable之类的字符串。

  2. 您将这些行放在'nameOfVariable'方法之外,以便在实际获取数据之前执行这些行。

  3. 我设法编辑你的plunker并让它工作,你可以找到它here。 我做的是把你的线放在一起并修复名称错误。我没有把success放在那里,因为我不知道你想要完成什么逻辑。

    if