0
インターネットショップを作成していて、ユーザーカートのページを管理しているときにdeleteFromCart()を呼び出した後に角度表示が表示されません。私は何が欠けていますか?私は.then(F())との約束をしましたが、それは JSコードを動作していないよう:角度()は動作していません(リクエストを送信した後に表示を更新していません)
var url = $location.absUrl() + "/products";
getProducts();
function getProducts() {
$http.get(url).then(function (response) {
$scope.total = 0;
$scope.products = response.data;
$scope.products.forEach(function (product) {
$scope.total = $scope.total + product.price;
})
});
}
$scope.deleteFromCart = function (productId) {
$http.get(url + '/' + productId).then(function() {
getProducts();
});
}
ビュー:あなたはページを更新したくないのはなぜ
<div class="panel panel-primary" ng-controller="CartCtrl">
<div class="panel-heading">
<h3 class="panel-title">Your Cart</h3>
</div>
<div class="panel-body ">
<table class="table table-bordered">
<thead>
<tr>
<th>Product name</th>
<th>Price</th>
<th>Quantity</th>
<th class="text-center">Action</th>
</tr>
</thead>
<tr ng-repeat="product in products">
<td>{{product.title}}</td>
<td>{{product.price}}$</td>
<td>3</td>
<td class="text-center">
<a href="#" ng-click="deleteFromCart(product.id)" class="btn btn-danger btn-xs">Remove</a>
</td>
</tr>
</table>
<h4><span class="label label-primary pull-left">TOTAL : {{total}}$</span></h4>
<button class="btn btn-success pull-right">Confirm Order</button>
</div>
</div>
あなたはそれをクライアント側で削除し、そのオブジェクトがサーバ上で削除されているかどうかはわかりませんが、それは良い習慣ですか? – qwd412
サーバー側からアイテムが削除されたことを確認した後、クライアント側から削除します。そして、機能はその項目が正常に削除されたことに対応します。 –
私はそれがあまりにも複雑だと思う、私は削除要求を送信し、製品の配列をリフレッシュするので、私は解決策は非常にシンプルですが、私は1つの詳細、 – qwd412