vue的优点:

1、轻量级框架

只关注视图层,是一个构建数据的视图集合,大小只有几十kb

Vue.js通过简洁的API提供高效的数据绑定和灵活的组件系统

2、简单易学

国人开发,中文文档,不存在语言障碍,易于理解和学习

3、双向数据绑定

也就是所谓的响应式数据绑定。这里的响应式不是@media 媒体查询中的响应式布局,而是指vue.js会自动对页面中某些数据的变化做出同步的响应。

也就是说,vue.js会自动响应数据的变化情况,并且根据用户在代码中预先写好的绑定关系,对所有绑定在一起的数据和视图内容都进行修改。而这种绑定关系,就是以input 标签的v-model属性来声明的,因此你在别的地方可能也会看到有人粗略的称vue.js为声明式渲染的模版引擎。

这也就是vue.js最大的优点,通过MVVM思想实现数据的双向绑定,让开发者不用再操作dom对象,有更多的时间去思考业务逻辑。

4、组件化

在前端应用,我们是否也可以像编程一样把模块封装呢?这就引入了组件化开发的思想。

Vue.js通过组件,把一个单页应用中的各种模块拆分到一个一个单独的组件(component)中,我们只要先在父级应用中写好各种组件标签(占坑),并且在组件标签中写好要传入组件的参数(就像给函数传入参数一样,这个参数叫做组件的属性),然后再分别写好各种组件的实现(填坑),然后整个应用就算做完了。

5、视图,数据,结构分离

使数据的更改更为简单,不需要进行逻辑代码的修改,只需要操作数据就能完成相关操作

6、虚拟DOM

现在的网速越来越快了,很多人家里都是几十甚至上百M的光纤,手机也是4G起步了,按道理一个网页才几百K,而且浏览器本身还会缓存很多资源文件,那么几十M的光纤为什么打开一个之前已经打开过,已经有缓存的页面还是感觉很慢呢?这就是因为浏览器本身处理DOM也是有性能瓶颈的,尤其是在传统开发中,用JQuery或者原生的JavaScript DOM操作函数对DOM进行频繁操作的时候,浏览器要不停的渲染新的DOM树,导致页面看起来非常卡顿。

而Virtual DOM则是虚拟DOM的英文,简单来说,他就是一种可以预先通过JavaScript进行各种计算,把最终的DOM操作计算出来并优化,由于这个DOM操作属于预处理操作,并没有真实的操作DOM,所以叫做虚拟DOM。最后在计算完毕才真正将DOM操作提交,将DOM操作变化反映到DOM树上。

7、运行速度更快

像比较与react而言,同样都是操作虚拟dom,就性能而言,vue存在很大的优势

“约见”面试官系列之常见面试题之第一百零四篇之vue优点(建议收藏)相关推荐

  1. “约见”面试官系列之常见面试题之第一百零七篇之vue的作用(建议收藏)

    Vue.js(读音 /vjuː/, 类似于view)是一套构建用户界面的渐进式框架.与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计.Vue 的核心库只关注视图层,并且非常容易学习,非常容 ...

  2. “约见”面试官系列之常见面试题之第一百零六篇之css只在当前组件中起作用(建议收藏)

    方法很简单,在组件中的style前面加上scoped就可以了,示例:

  3. “约见”面试官系列之常见面试题之第一百零五篇之v-if与v-show(建议收藏)

    相同点:v-if与v-show都可以动态控制dom元素显示隐藏 不同点:v-if显示隐藏是将dom元素整个添加或删除,而v-show隐藏则是为该元素添加css--display:none,dom元素还 ...

  4. “约见”面试官系列之常见面试题之第一百零三篇之vue-router实现路由懒加载(建议收藏)

    vue异步组件 es提案的import() webpack的require,ensure() vue异步组件技术 ==== 异步加载 vue-router配置路由 , 使用vue的异步组件技术 , 可 ...

  5. “约见”面试官系列之常见面试题之第一百零二篇之vue-router的两种模式(建议收藏)

    众所周知,vue-router有两种模式,hash模式和history模式,这里来谈谈两者的区别. hash模式 hash模式背后的原理是onhashchange事件,可以在window对象上监听这个 ...

  6. “约见”面试官系列之常见面试题之第一百零一篇之vue-router传参(建议收藏)

    vue-router传递参数分为两大类 编程式的导航 router.push 声明式的导航 <router-link> 编程式的导航 router.push 编程式导航传递参数有两种类型: ...

  7. “约见”面试官系列之常见面试题之第八十六篇之nexttick(建议收藏)

    一.用途 应用场景:需要在视图更新之后,基于新的视图进行操作. this.$nextTick()方法主要是用在数据改变,dom改变应用场景中.vue中数据和dom渲染由于是异步的,所以,要让dom结构 ...

  8. “约见”面试官系列之常见面试题之第八十二篇之MVC(建议收藏)

    MVC设计模式 MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控制器(Controller) ...

  9. “约见”面试官系列之常见面试题之第七十八篇之fetch(建议收藏)

    etch是一种HTTP数据请求的方式,是XMLHttpRequest的一种替代方案.fetch不是ajax的进一步封装,而是原生js.Fetch函数就是原生js,没有使用XMLHttpRequest对 ...

最新文章

  1. 【约束布局】ConstraintLayout 屏障 Barrier 约束 ( 简介 | 屏障适用场景 | 位置说明 | 相关属性 | 可视化操作 | 代码示例 | 总结 )
  2. groovy定义变量获取当前时间_IDEA不愧为神器,结合Groovy脚本,简直无敌!
  3. 生成android_Android开发:生成桌面快捷方式是这样做的
  4. Node.js学习(篇章一)
  5. javascript 框架_克服JavaScript框架疲劳
  6. 封装连接mysql数据库_封装连接mysql数据库
  7. webpack基础,运行webpack-dev-server报错,Cannot find module WebpackOptions.json
  8. Dell R730 服务器重装系统Ubuntu16.04
  9. 目前人工智能的主要研究方向是哪些?
  10. Leetcode 712.两个字符串的最小ASCII删除和
  11. Linux触摸屏驱动分析(6410) -- s3c-ts
  12. Atitit.每周计划日程表 流程表 v9 r829.docx
  13. 蓝星微商城源码+搭建教程源码
  14. pytorch使用万能模板
  15. thinkpad指点杆(trackpoint)在WPS的word文档中失效的解决办法
  16. 学软件嵌入式需要学c语言吗,嵌入式软件工程师需要学什么?
  17. 英特尔核显驱动hd630_英特尔首款独显 Xe Max 评测出炉:低于移动端 GTX 1050 Ti - 英特尔...
  18. 【分享】翻出过去的一个多彩泡泡屏保特效(JS+CSS版)
  19. 关于xpath解析网页中tbody问题
  20. 可以删除电脑文件的c语言程序,win7c盘哪些文件可以删除?其删除方法介绍

热门文章

  1. python装饰器的使用
  2. git忽略某个文件夹
  3. 【bzoj4025】二分图 LCT
  4. [翻译]:怎样从C/C++代码中对C#进行回调
  5. java源码影视源码搭建教程_新版千月影视app源码+搭建教程
  6. tableau获取筛选器值_认识Tableau中的筛选器
  7. 放大镜_指甲钳上有放大镜?再也不怕夹到肉了
  8. Ubuntu下apache2启动、停止、重启、配置
  9. 【Mac】tar 打包指定目录并排除某些目录或文件
  10. 如何在MyBatis中优雅的使用枚举