2015-11-14 85 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