再来谈谈vue.js

一、什么是vue.js?
用来解决复杂的页面交互操作的一种前端框架。
严格来说,vue不算是框架,功能没有像angular这种框架多,它更像是一个组件库,一个前端框架会考虑到路由,数据管理,视图持久化等各方面因素,但vue.js只关注视图层(数据管理)。
二、vue.js应用场景(一切为了用户体验)
1、单页应用
单页应用:在应用整个使用流程里浏览器由始至终没有刷新,所有的数据交互由ajax异步加载完成,但是用户体验起来和app一样,有明确的页面区分,即所谓的web app。
举个例子:
这里写图片描述

可以说一个这样的单页应用,全靠JS撑着了,但是单页应用的页面交互和结构十分复杂,一个页面上就有许许多多的模块需要编写,而且往往一个模块的代码量和工作量就非常庞大。而且遇到以后的产品需求变更,修改起来也非常麻烦,生怕动了其中一个div之后,其他div跟着雪崩,整个页面全部乱套,或者由于JavaScript的事件冒泡机制,导致修改一些内层的DOM事件处理函数之后,出现各种莫名其妙的诡异BUG。
Vue.js所做的,就是把各种功能模块拆分,再封装成组件,我们只需要合理的调用就行了,但是组件的核心算法还是得由开发人员自己编写,所以原生JS功底一定要牢固,vue对你的帮助才会相得益彰。
2、移动端开发
例子: 小米的移动商城
美团上门业务的运营后台
苏宁易购触屏版的购物车结算页面
稀土掘金全网
这里写图片描述

这里写图片描述

移动端例子:https://github.com/bailicangdu/vue2-elm(基于 vue2 + vuex 构建一个具有 45 个页面的大型单页面应用)
三、vue.js特点
1、比angular简单易上手
Vue最初的灵感便是来自angular,但是vue比angular小巧轻便,不依赖其他库,很多功能设计的比angular更人性化,但是功能没有angular完整。
2、组件化开发
方便,可以重复使用,代码逻辑更为严谨,减少不必要的代码重复,多个实例调用不会互相影响。
合理的调用vue封装的方法,再结合自己的需求编写JS代码,vue会自动将你的代码封装成组件,你只需要在HTML标签中合理的调用就行了,而且官网的文档都是中文的,比较容易理解(作者尤雨溪是中国人,曾在Google工作过)。
举个简单的例子,如果用原生JS获取一个元素并给它绑定一个点击事件,代码是这样的:

这里写图片描述

用jQuery的话:

这里写图片描述

用vue的话:

这里写图片描述

是不是感觉反而麻烦了?然而,假设我有10000个button都要添加点击事件呢?原生JS可以利用for循环来添加事件,jQuery可以用事件委派,那万一这一万个button我只有个别按钮需要添加点击事件,并且他们的顺序不能乱呢?当然你也可以通过添加相同的class把所有有点击事件的标签都选出来,再for循环遍历添加事件,但是用for循环添加点击事件总归是会影响性能的,而Vue要做的,只需要给这些有需求的button添加一个@click属性就行了,JS部分不用改动。这样一比较,vue的优点就很明显了。
3、数据绑定
数据绑定分为单向数据绑定和双向数据绑定,vue借(抄)鉴(袭)的是Angular.JS的双向数据绑定思想。
双向数据绑定:用户如果有页面交互操作,视图会跟随发生变化,而且不会刷新页面,在vue中,你只需要给自己想要操作的数据添加正确指令,vue底层会自动绑定数据和视图,达到同步效果,在表单校验中用的比较多。
单向数据绑定:指的是我们先把模板写好,然后把模板和数据(数据可能来自后台)整合到一起形成HTML代码,然后把这段HTML代码插入到文档流里面
单向数据绑定缺点:HTML代码一旦生成完以后,就没有办法再变了,如果有新的数据来了,那就必须把之前的HTML代码去掉,再重新把新的数据和模板一起整合后插入到文档流中。
比较而言肯定是双向数据绑定的用户体验更好。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值