Je suis en train de faire un système de panier d'achat avec Laravel et de la Vue. Lorsque j'ajoute un article au panier, j'affiche un message de confirmation par le basculement d'une Vue variable surveillée par un v-si:
<div class="alert alert-success" v-if="basketAddSuccess" transition="expand">Added to the basket</div>
Et le JS:
addToBasket: function(){
item = this.product;
this.$http.post('/api/buy/addToBasket', item);
this.basketAddSuccess = true;
}
(Et oui, je vais être en ajoutant ceci dans un puis-catch peu de temps).
Cela fonctionne bien et le message s'affiche. Cependant, j'aimerais que le message disparaisse à nouveau après un certain temps, disons quelques secondes. Comment puis-je le faire avec Vue? J'ai essayé d' setTimeOut
mais Vue ne semble pas comme elle, disant qu'il n'est pas défini.
EDIT: j'ai été faute d'orthographe setTimeout
comme un idiot. Toutefois, cela ne fonctionne toujours pas:
Ma fonction est maintenant:
addToBasket: function(){
item = this.photo;
this.$http.post('/api/buy/addToBasket', item);
this.basketAddSuccess = true;
setTimeout(function(){
this.basketAddSuccess = false;
}, 2000);
}