2016-08-19 56 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

谢谢你的回复。并为细节。你是对的。 –

相关问题