2015-11-14 77 views
0

我打电话给$ http.get从角度ui网格获取服务器的新内容。在日期选择器中更改日期时,我触发了一个ng-change事件来进行另一个http调用来获取新内容。调用成功,但网格不会更新新的内容。$ http.gif.core.notifyDataChange()在http成功调用回调中调用时会抛出错误。请建议用新内容更新网格的方法。角度js UI网格没有得到更新的新内容

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

+0

请提供您使用的代码,以便有人能够提供帮助。 – Tristan

+0

你需要添加一些代码,你尝试了什么? –

+1

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

回答

1

你的例子的问题是在$httpsuccess方法(256-260行)内。

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

有你只是把你的数据的作用域属性($scope.roData)内,但此时你不是做与scope属性什么。

而且你想一个错误的值赋给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; 
}); 
+1

非常感谢您的帮助。 – vignesh