【发布时间】:2017-08-03 05:00:30
【问题描述】:
我在 vue 中做一个购物车,但我遇到了一些问题。从来没有使用过这个库,我可能做错了基础知识,但是:
当我向购物车添加东西时,我有一个 onclick 函数 expander(item),它看起来像这样:
this.addToCart(item);
this.show = true;
clearTimeout(this.timer);
timer: setTimeout(()=>{ this.show = false; }, 3000);
所以它添加到购物车,将购物车 div 的可见性设置为 true,然后在延迟三秒后将购物车 div 设置回 false。
问题是,clearTimeout(this.timer) 不起作用。因此,对于每次点击,三秒钟后,无论我做什么,它都会将可见性设置为 false。我试图用这个功能做的是每次都重置计时器,读完之后似乎我的做法是正确的。
所以,我猜我的问题是我需要声明变量
timer: setTimeout(()=>{ this.show = false; }, 3000);
在函数之外,以便 clearTimeout() 在我的函数开头找到它。我的问题是,无论我在哪里声明它,它似乎都找不到它。我尝试在 data {} 以及 Vue 实例之外声明变量,但它似乎不想在我的函数中找到它。
so:如何声明变量?这甚至是我的问题吗?有没有比它尝试做的更容易解决这个问题的方法?
谢谢!
【问题讨论】:
-
你能做一个小提琴吗?
标签: javascript vue.js