gpt4 book ai didi

javascript - $http 删除后 Ng-repeat 不刷新

转载 作者:行者123 更新时间:2023-12-02 16:57:45 24 4
gpt4 key购买 nike

从我的集合中删除条目后,已删除对象的值消失了,但 行(空白)仍然存在。(尝试了 apply()...没有成功)

我有一个典型的 CRUD 用户界面,可以查看费用。

 <table class="table table-striped">
<tr>
<td>Titre</td>
<td>Date</td>
<td>Montant</td>
<td>Méthode de paiement</td>
<td></td>
<td></td>
</tr>
<tr ng-repeat="expense in expenses">
<td>{{expense.title}}</td>
<td>{{expense.date}}</td>
<td>{{expense.amount}}</td>
<td>{{expense.paiementMethod}}</td>
<td><a class="btn btn-primary" ui-sref="editExpense({id:expense._id})">Editer</a></td>
<td><a class="btn btn-primary" ng-click="deleteExpense(expense)">Supprimer</a> </td>
</tr>
</table>

绑定(bind)到费用 Controller

angular.module('ExpenseCtrl', [])
.controller('ExpenseListController', function ($scope, $state, $window,Expense) {

$scope.expenses = Expense.query();

$scope.deleteExpense = function (expense) {
expense.$delete(function () {
$state.go('expenses');
})
}
})

由费用资源工厂提供

angular.module('ExpenseService', []).factory('Expense', function($resource) {
return $resource('api/expenses/:id',{
id:'@_id'},{
update:{method:'PUT'}, delete:{method:'DELETE'}})

});

与Json API通信(mongodb和后面的node/express)

因此,我使用 ngResource 和 ui.router 来处理状态场景。

<小时/>

注意:如果我通过删除功能手动刷新,一切正常,但这是我们必须要做的事情吗?

.controller('ExpenseListController', function ($scope, $state, $window,Expense) {

$scope.expenses = Expense.query();
$scope.deleteExpense = function (expense) {
expense.$delete(function () {
$scope.expenses = Expense.query();
})
}
})

最佳答案

您必须以某种方式将其从作用域上的 expenses 数组中删除,无论是通过重新查询还是在成功服务器端删除后将其从数组中删除。 $http 请求本身不会影响 $scope.expenses 对象。

关于javascript - $http 删除后 Ng-repeat 不刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26045236/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com