Vue-计数器
本来不想写学习笔记的,但还是怕自己忘了,所以记录下学的东西(话说前端这玩意儿实在是太TM烦了)
好了,假设现在你在某电商平台上看中了一款商品,而且你特别喜欢这款商品,那自然要多买一些了,于是这时候就会有一个“+”按钮,你十分兴奋地点击这个按钮,就跟这个商品免费一样,你感到特爽!当然,商家也感到特别爽。不过呢,理智还是在这场与你头脑中野性的斗争中占据了上风,因为你会发现你的钱包已经瘪了。这时候你就需要点击旁边的“-”按钮,虽然很不甘心,但是你还是接受了被现实打败的这一事实。现在,我们就想做出这样一个点击器出来,以实现计数功能。
其实很简单,首先我们需要一个div块,这个div块的id属性应该是,我们命个名吧,就叫app,好了!
然后,这个app的div块应该包含三个部分,分别是前后两个按钮,中间有一个数字,用来显示。按钮好办,中间数字怎么显示?用渲染,学了的东西要会用嘛。我们用两个大括号,中间写上一个"num"来表示数字。
就像这样:
1 <div id="app"> 2 <button @click="sub">-</button> 3 <span>{{ num }}</span> 4 <button @click="add">+</button> 5 </div>
现在,我们就需要在下面写上script标签,然后里面写我们的vue代码了:
第一行当然是万年不变的vue一个变量了,格式啥的很简单,看就完了。
然后嘞,是el属性,告诉它我们是要跟哪个建立关系。然后写个data,里面有个num属性,初始值我们就记为1好了。
然后,因为我们想要实现的是点击效果,因此必须要写几个函数,再到对应的html代码中绑定点击事件。根据需要,我们就分别实现sub函数和add函数。所以这个时候我们还需要回到之前的div,然后在里面给绑定一下事件。
如何在函数里面获取num的值?用this关键字就好了。实现逻辑很简单,我们希望在数量达到10的时候让客户回归理性,总不能让人家过于野性消费;另外我们也是要生存的,也不可能让人家白嫖对吧,所以数量达到0的时候就不能再减了。这实现起来很简单,用if就行。
代码:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Vue</title> </head> <body> <div id="app"> <button @click="sub">-</button> <span>{{ num }}</span> <button @click="add">+</button> </div> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <script> var app = new Vue({ el:"#app", data:{ num:1 }, methods:{ add:function () { if (this.num < 10) { ++this.num; } else { alert("别点了,到头啦!"); } }, sub:function() { if (this.num > 0) { --this.num; } else { alert("别点了,到底啦!"); } } } }) </script> </body> </html>

浙公网安备 33010602011771号