2016-08-19 89 views
0

更新數據表我有我的控制器下面的數組,從數據庫中獲取對象:AngularJs如何無需重新加載

this.objects = [ //data of array goes here ]; 

然後,我有一個HTML表格:

<tbody ng-repeat="object in object.recipients> 
    <tr> 
     <td>{{object.attribute.content}}</td> 
    </tr> 
</tbody> 

表顯示正確。我有一個刪除按鈕,從數據庫中刪除對象。但爲了查看桌面上的更改,我需要刷新頁面。如何更新我的表格而不刷新?

回答

1

只要刪除使用控制器功能的作用:

this.objects.splice(index, 1) 

,並在HTML的刪除按鈕,調用刪除功能,並通過該指數,或另一種獨特的ID。例如

<button ng-click="deleteThis($index)">Delete</button> 

$指數是指在NG-重複當前指數

如果你願意,你可以從你的服務器中刪除,如果成功回調/許解決了,然後從視圖中刪除以上解釋

+0

謝謝!雖然所有的答案都是正確的,但我不知道索引的事情。我正在通過數組搜索該元素以將其刪除。所以+1! –

+0

不想成爲一個buzzkill,但你也應該知道這一點時,依靠$ index: https://www.codementor.io/angularjs/tutorial/angular-best-practices-ng-repeats-index – Ladmerc

1

在你的刪除項目函數中,從數組拼接項目後,將數據保存到數據庫,然後立即使用ajax來獲取新的數據集。 一旦完成將數據保存到數據庫,使用:

$http.get(...) 

,以獲取新的數據而無需刷新頁面更新數組/表(事情應該是這樣)。

+0

謝謝您的回覆。你是對的。 –

1
  1. 當您刪除數據庫中的記錄。您應該從 $ http重新加載數據併爲$ scope.objects設置數據。
  2. 或者用刪除

    $ scope.objects = $ scope.objects.slice(1); // 1是 索引對象

    然後刪除數據庫中的記錄。

+0

謝謝你的回覆。併爲細節。你是對的。 –

相關問題