实用又惊艳的Vue

举报
黄生 发表于 2020/09/06 22:43:15 2020/09/06
【摘要】 这里的惊艳,不是像武侠小说里面的主人公掉到一个洞里,捡到一本秘籍,然后打通任督二脉,从此就笑傲江湖而是普通人一样的,比如庖丁解牛,或者是卖油翁,是在司空见惯的平凡中做出不平凡Vue就是这样,它面向的前端开发天天都遇到的要做的事情,但它却可以做到让人惊艳的简洁而实用这里来展示一下首先是引用vue.js然后新建一个Vue实例,叫app它的内容相当简单,目前只有二点:1需要作用到网页的那个部分,以...

这里的惊艳,不是像武侠小说里面的主人公一样,掉进一个洞里,捡到一本秘籍,打通任督二脉,然后就笑傲江湖

而是像普通人一样的,比如像庖丁解牛,或者是像卖油翁,是在司空见惯的平凡中做出不平凡

Vue就是这样,它面向前端开发天天要做的事情,但它却可以做到让人惊艳的简洁而实用


这里来展示一下

首先是引用vue.js

然后新建一个Vue实例,名称叫作app

它的内容相当简单,现在只有二点:1需要作用到网页的哪个部分,2要展示的数据。

app中的el属性(代表element),关联到vue要作用的文档元素上,可以看到,这里使用的是id定位方式。

而data,不用说,就是我们的数据了

使用双大括号表达式来展现,这里的表达式是最简单的:仅仅引用变量


然后我们看到了。这虽然很简单,但说明机制运行是正常的。



Vue是响应式的,就是说,你变我也变,数据变了,网页里所有用到数据的地方都会同步改变。在console里修改一下试试

看,网页上马上就自动改变了


现在我们在data对象里使用复杂一点的数据类型

放置一个对象的列表,每个对象里存储了id,数量,名称等数据,

我们在页面中展示对象的数量和名称,然后当数量为0时,在旁边加上“卖完了”的提示

这个在python中,我们用过这样的表达式生成器,带判断条件的,比如获取1-10之间的偶数

[x for x in range(1,10) if x % 2 == 0]

可以得到[2, 4, 6, 8]

这里也可以用类似的写法来做条件判断,使用v-if指令,非常方便

然后来做一下总库存的计算,也就是将每个对象里的数量相加。



用devtool可以随时检查vue对象(这里是App变量)的内部细节,devtool在华为classroom的WEB全栈课程资料里面可以下载

效果如下:

下面添加一些互动的效果,添加按钮,当点击时将该商品的数量加1

再将原来显示数量的地方,变为数量的输入框

这时我们可以看到,所有的相关显示点,都可以正确及时响应

当数量大于1时,“卖完了”的提示会消失;当为0时,又会出现

总库存随着每个对象的数量的变化而同步变化

在输入框输入会让总库存产生变化,“添加”按钮的点击同时更新了输入框的值

这些行为,很好的表现了Vue的响应式

最终效果如下

到此结束。

本文素材来自 cn.vuejs.org,代码请参考附件。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。