jQuery 和 vue 的区别有什么? 下面本篇文章就来给大家介绍一下. 有一定的参考价值, 有需要的朋友可以参考一下, 希望对大家有所帮助.
jQuery 和 vue 的区别
A, 两者的未来发展的区别
jQuery 介绍: jQuery 是一个类库, 提供了很多方法, 不能算框架. 在过去和现在 jQuery 是最流行的 web 前端 JS 库, 可是现在无论国内还是国外, 他的使用率正在渐渐被其他的 JS 库所替代. 随着浏览器厂商对 H5 规范统一遵循以及 ECMA6 在浏览器端的实现, jQuery 的使用率会越来越低.[相关教程推荐: jQuery 教程 https://www.html.cn/jskuangjia/jquery/ ]
vue 的介绍: vue 是一个刚兴起不久的前端框架, 有一套完整的体系, 是一个精简的 MVVM. 从技术角度讲, vue.js 专注于 MVVM 模型的 ViewModel 层, 通过双向数据绑定把 view 层和 Model 层连接起来, 通过对数据的操作就可以完成对页面视图的渲染. vue 以它独特的优势简单, 快速, 组合, 紧凑, 强大而迅速崛起.[相关教程推荐: vue.JS 教程 https://www.html.cn/jskuangjia/vue/ ]
为什么说 "通过对数据的操作就可以完成对页面视图的渲染"?
vue.JS 是一种基于 MVVM 方式的框架, 专注于 MVVM 模型的 ViewModel 层, 通过双向数据绑定的方式将 Model 层和 View 层连接起来.
而在 vue 中实现双向数据绑定的原理是: 采用数据劫持结合发布者 - 订阅者的方式, 通过 Object.defineProperty()来劫持各个属性的 setter,getter, 在数据变动时, 发布消息给订阅者, 触发相应的监听回调.
通俗的讲, 就是利用 observe 监听 Model 层的数据变化; 利用 Compile 来编译解析模板指令, 最终利用 Watcher 搭起 Observer 和 Compile 之间的通信桥梁, 达到数据变化 (model)-》视图更新 (view); 视图变化(view)-》数据(model) 变更的双向绑定效果.
B, 在操作思想上有本质的区别:
jQuery 是直接操作 DOM; 使用选择器 ($) 选取 DOM 对象, 对其进行赋值, 取值, 事件绑定等操作; 和原生的 JS 区别只在于可以更方便的选取和操作 DOM 对象; 数据和界面是在一起, 比如获取 input 标签的内容
$('input').val();
还是依赖 DOM 元素的值.
vue 基于一种 MVVM 模式, 使用数据驱动的方式, 通过 Vue 对象将数据和 View 完全分离开来. 对数据进行操作, 不在需要引用相应的 DOM 对象, 通过 vue 对象, 将数据和相应的 DOM 对象相互绑定起来.
C, 应用场景的区别
jQuery 适用的场景: jQuery 侧重样式操作, 比如一些 H5 的动画页面; 需要 JS 来操作页面样式的页面
Vue 适用的场景: vue 侧重数据绑定, 比如复杂数据操作的后台页面; 表单填写页面
总结:
jQuery 直接操作 dom
Vue 不直接操作 dom, 采用虚拟 dom
Vue 通过数据驱动界面
jQuery 通过选择器选取元素, 进行取值赋值, 事件绑定等操作
更多前端开发 https://www.html.cn/ 知识, 请查阅 HTML 中文网 !!
来源: http://www.css88.com/qa/jquery/16424.html