我在angular.js应用程序中使用数据表。在此更新后,我需要显示更新结果而不刷新整个页面。只有表必须刷新并使用新值进行更新。请帮忙。
这是我的Controller.js
$scope.updateInternship = function() {
$("#internshipEdit").modal('hide');
internshipService.updateInternship(
$scope.internship,
function(data) {
$rootScope.loggedInUser = data;
$scope.internship = data;
$growl.box(
'Hello!',
'Your details have been updated.',
{
class : 'success',
sticky : false,
timeout : 5000
}
).open();
}
);
}
这是显示表格的html页面。
<table datatable="ng" dt-options="dtOptions" cellspacing="0" width="100%" class="table table-striped table-hover table-bordered">
<thead>
<tr>
<th>Id</th>
<th>Title</th>
<th>Category</th>
<th>Status</th>
<th>Created date</th>
<th>Action</th>
</tr>
</thead>
<tfoot>
<tr>
<th>Id</th>
<th>Title</th>
<th>Category</th>
<th>Status</th>
<th>Created date</th>
<th>Action</th>
</tr>
</tfoot>
<tbody>
<tr ng-repeat="internship in allinternships">
<td><span>{{$index+1}}</span></td>
<td><span>{{internship.title}}</span></td>
<td><span>{{internship.category.name}}</span></td>
<td><span>{{internship.status}}</span></td>
<td><span>{{internship.appliedDate | date:'d MMMM yyyy'}}</span></td>
<td>
<button class="btn btn-default btn-sm" data-title="Hold" data-toggle="modal" ng-click="hold(internship.id)">
<i class="fa fa-pause"></i>
</button>
<a href="javascript:;" class="btn btn-default btn-sm" data-title="Edit" data-toggle="modal" ng-click="update(internship.id)" >
<i class="icon bb-edit"></i>
</a>
<button class="btn btn-default btn-sm" data-title="View" data-toggle="modal" ng-click="deleteinternship(internship.id,$index)">
<i class="icon bb-trash"></i>
</button>
<button class="btn btn-default btn-sm" data-title="View" data-toggle="modal" ng-click="viewInternship(internship.id)">
<i class="icon bb-view"></i>
</button>
</td>
</tr>
</tbody>
</table>
答案 0 :(得分:0)
你可以尝试这个解决方案:
如果您使用路线提供者,则可以使用
$ route.reload();
如果您使用$ state provider,则可以使用
$ state.reload();
抱歉,如果我误解了你的情况。
答案 1 :(得分:0)
尝试在更新数据后添加$scope.$apply();
。
否则尝试:
$scope.$watch(function() {
// Here you should return the value that changes
return $scope.internship;
}, function() {
// You arrive here if the returned element before has changed
$scope.internship = data;
});
我很难理解你在做什么的行为。如果有帮助,请告诉我。