我正在用Laravel和Vue製作購物車系統。當我將項目添加到購物籃,我顯示通過切換一個Vue的變量的確認消息通過正在觀看的V-如果:等價於setTimeOut的Vue?
<div class="alert alert-success" v-if="basketAddSuccess" transition="expand">Added to the basket</div>
而JS:
addToBasket: function(){
item = this.product;
this.$http.post('/api/buy/addToBasket', item);
this.basketAddSuccess = true;
}
(是的,我稍後將會加入這個)。
這工作正常,消息出現。但是,我希望消息在一段時間後再次消失,比如幾秒鐘。我如何用Vue做到這一點?我試過setTimeOut
,但Vue似乎不喜歡它,說它是未定義的。
編輯:我拼寫錯誤setTimeout
像個白癡。但是,它仍然不能正常工作:現在
我的功能是:
addToBasket: function(){
item = this.photo;
this.$http.post('/api/buy/addToBasket', item);
this.basketAddSuccess = true;
setTimeout(function(){
this.basketAddSuccess = false;
}, 2000);
}
試'的setTimeout(()=> { this.basketAddSuccess = FALSE; },2000);' –
''setTimeout'內部的'this'可能不是指主對象。 – akinuri
@alexanderfarkas這個作品,謝謝! – flurpleplurple