0
私はLaravelとVueで簡単なショッピングカートシステムを作っています。私は正常にバスケットから項目を追加したり削除したりすることができます。ただし、アイテムを削除すると、変更が反映されているかどうかを確認するためにページを更新する必要があります。ここでAPIコール(ビュー)の後でビューを更新する方法
は私のバスケットビューです:削除ボタンをクリックする
<table class="table table-striped" >
<thead>
<th>Item</th>
<th>Price each</th>
<th>Quantity</th>
<th>Update</th>
<th>Delete</th>
</thead>
<tbody>
<tr v-for="item in basketItems">
<td>@{{ item.name }}</td>
<td>£@{{ item.price }}.00</td>
<td>@{{ item.quantity }}</td>
<td><button class="btn btn-primary btn-sm">Update</button></td>
<td><button class="btn btn-secondary btn-sm" v-on:click="removeItem(item.id)">Delete</button></td>
</tr>
</tbody>
</table>
はVueの中で、この関数を呼び出します。
コントローラでこの機能をトリガremoveItem: function(id){
this.$http.post('api/buy/removeItem', { id: id });
}
:
public function removeItem(Request $request){
$id = $request->input('id');
$this->cart->find($id)->remove();
}
このバックグラウンドではすべて正常に動作しますが、ビューは当然変わりません。ビューから削除したアイテムを削除するにはどうしたらいいですか?
モデルの誠実な反映であるので、2番目の方が良いでしょう。 – gurghet
@gurghet私は同意します。最良のソリューションは、ユーザーがアイテムを削除している、つまり、どこかにローディングスピナーがあるので、彼らはアプリがクリックに反応していることを知っている。 – Jeff
私はこのエラーを受け取りました。 '未知(未定)TypeError:this.basketItems。$ removeはVueの関数 ではありません。 '(2番目の例を使用)。おそらくスコープの問題のいくつかの種類ですか? –
flurpleplurple