先说一些jq
曾经也是现在依然最流行的web前端js库,可是现在无论是国内还是国外他的使用率正在渐渐被其他的js库所代替,随着浏览器厂商对HTML5规范统一遵循以及ECMA6在浏览器端的实现,jquery的使用率将会越来越低
接下来是vue
vue是一个兴起的前端js库,是一个精简的MVVM。(这里可以引出什么是MVVM),Vue.js 专注于 MVVM 模型的 ViewModel 层。它通过双向数据绑定把 View 层和 Model 层连接了起来,通过对数据的操作就可以完成对页面视图的渲染
jq和vue的区别
jq:jQuery是使用选择器($)选取DOM对象,对其进行赋值、取值、事件绑定等操作,其实和原生的HTML的区别只在于可以更方便的选取和操作DOM对象,而数据和界面是在一起的。
vue:Vue则是通过Vue对象将数据和View完全分离开来了。对数据进行操作不再需要引用相应的DOM对象,可以说数据和View是分离的,他们通过Vue对象这个vm实现相互的绑定。
什么是MVVM(引申的)
mvvm就是由mvp模式和wpf结合应用后演变的新框架,基于原有的mvp框架把wpf的新特性柔和进去,以应对以后的需求变化
什么是MVP?(由MVVM引申)
MVP 是从经典的模式MVC演变而来,它们的基本思想有相通的地方:Controller/Presenter负责逻辑的处理,Model提供数据,View负责显示。
什么是MVC?和MVVM的区别是什么?(由MVVM引申)
MVC:MVC全名是Model View Controller,是一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。
MVC:
- M - Model:模型,是应用程序中用于处理应用程序数据逻辑的部分,通常模型对象负责在数据库中存取数据
- V - View: 视图,是应用程序中处理数据显示的部分,通常视图是依据模型数据创建的。
- C - Controller: 控制器, 是应用程序中处理用户交互的部分,通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据
MVVM:
- M - Model,Model 代表数据模型,也可以在 Model 中定义数据修改和操作的业务逻辑
- V - View,View 代表 UI 组件,它负责将数据模型转化为 UI 展现出来
- VM - ViewModel,ViewModel 监听模型数据的改变和控制视图行为、处理用户交互,简单理解就是一个同步 View 和Model 的对象,连接 Model 和 View
区别:
- ViewModel 替换了Controller在UI层之下
- ViewModel 向View暴露了它所需要的数据和指令
- ViewModel 接收来自Model的数据