angularjs 删除循环中的 promise 数据之后立马显示变化
2015-02-03 15:22
627 查看
在用 restangurlar 来跟后台 api 交互的时候,删除一条记录,但是直接显示在页面中。第三方异步的数据没办法立即同步,如果要看到删除的结果要重新刷新页面的话就太不 cool 了,google 了一把找到解决方法。原始 js 代码如下:
.controller('HostCtrl', ['$scope','Restangular',function($scope,Restangular) { var baseHosts = Restangular.all('api/host'); $scope.hosts=baseHosts.getList().$object; $scope.del=function(host,uuid){ Restangular.one('api/host',uuid).remove() } }])html:
<tbody> <tr ng-repeat="host in hosts|filter:searchText"> <td><a href="#" ng-if="host.Uuid!=nil" ng-click="del(host,host.Uuid)">delete</a> </td> <td class="center">{{host.Hostname}}</td> <td class="center">{{host.Ip}}</td> <td><p ng-repeat="tcp_port in host.Tcp_list">{{tcp_port}}</p></td> <td><p ng-repeat="udp_port in host.Udp_list">{{udp_port}}</p></td> </tr> </tbody>修改后的 js 代码如下:
.controller('HostCtrl', ['$scope','Restangular',function($scope,Restangular) { var baseHosts = Restangular.all('api/host'); $scope.hosts=baseHosts.getList().$object; $scope.del=function(host,uuid){ Restangular.one('api/host',uuid).remove().then(function(){ var index=$scope.hosts.indexOf(host); if(index > -1) $scope.hosts.splice(index,1); }) } }])
相关文章推荐
- easyui reload之后还是显示被删除的数据
- 删除草稿信息之后 threads表的数据没有发生变化
- AngularJS,实现输入框失焦添加内容到最前,当数据重复删除原来并显示在数组最前
- easyui reload之后还是显示被删除的数据
- 关于sqlite删除数据之后大小没变化
- ArrayList-Linked-Set的循环中删除数据的错误显示
- HTML,angularJS表格内容排序,点击删除,删除当前,输入内容显示包含内容的数据
- easyui reload之后还是显示被删除的数据
- 请问如何在Web页面中点击一个button之后,用jsp从数据库中读取数据显示到表格里
- 使用servlet,jdbc将mysql中数据显示在jsp页面中,且实现直接删除数据库数据
- 循环显示十条新闻标题的控制程序,地址转换表NEWS放在数据区;
- SQL数据库删除求和之前的数据只保留求和之后的数据例子
- sql while循环操作 (大数据删除可以用得到) [原创 by lee]
- SQL Server 2000删除大数据量,解决阻塞---------循环,删除小量数据
- 收藏 不显示删除回复显示所有回复显示星级回复显示得分回复 为什么有时候ASP在插入一条记录时,它会在数据里面插入两条一样的记录?
- 利用JQGrid动态删除多行数据,行号(即删除/增加数据)变化的问题
- mysqli:循环数据显示到页面
- 介绍一个免费的具备数据显示/录入/更新/删除功能的asp.net控件
- 桌面共享中桌面图片对比取变化部分数据和还原显示
- [ASP.NET2.0]Repeater C# 循环显示数据