什么是MVX框架模式?
1、MVC:model(模型)+view(视图)+controller(控制器),主要是基于分层的目的,让彼此的职责分开。
view通过controller来和model联系,controller是view和model的协调者,view和model不直接联系,基本联系都是单向的。
用户user通过控制器controller来操作模板model从而达到视图view的变化
2、MVP:是从MVC模式演变而来的,都是通过controller/presenter负责逻辑的处理+model提供数据+view负责显示
在MVP中,Presenter完全把view和model进行分离,主要的程序逻辑都在presenter里面实现。并且presenter和view是没有直接管理的,通过定义好的接口进行交互,从而使得在变更view的时候可以保持persenter不变
MVP模式的框架:Riot.js
3、MVVM:MVVM是把MVC里的controller和MVP里的persenter改成了viewModel。
model+view+viewModel
View的变化会自动更新到viewModel,viewModel的变化也会自动同步到view上显示。
这种自动同步是因为viewModel中的属性实现了Observer,当属性变更时都能触发对应的操作。
MVVM模式的框架有:Angular,Vue,Konckout,Ember
Vue简述:
Vue是一个渐进式框架,是一个构建数据驱动的web界面库,采用自底向上增量开发的设计,通过简单的API提供高效的数据绑定和灵活的组件系统。它的核心思想是数据驱动和组件化,我们只需关注数据的层面,不需要去管与DOM的交互
性能方面比较好:
1、模板与函数渲染之间的弹性选择
2、简洁的语法及项目创建
3、更快的渲染速度和更小的体积
Vue的特性:
1、轻量级的框架
2、双向数据绑定
3、指令
4、组件化
Vue和angular的区别?
相同点:
1、都支持指令:内置指令和自定义指令
2、都支持过滤器:内置过滤器和自定义过滤器
3、都支持双向数据绑定
4、都不支持低端浏览器
不同点:
1、angular的学习成本高,Vue提供的API更简洁,直观
2、性能上,angular依赖对数据做脏检查,所以watcher越多越慢。Vue是基于依赖追踪的观察并且使用异步队列更新,所有的数据都是独立触发的
Vue与React的区别?
相同点:
1、利用虚拟DOM实现快速渲染
2、响应式组件
3、轻量级
4、服务端渲染
5、易于集成路由工具,打包工具,以及状态管理工具
6、优秀的社区和支持
不同点:
1、react依赖virtual DOM,Vue使用的是DOM模板,react采用的virtual DOM会对渲染出来的结果做脏值检查
2、Vue在模板中提供了指令、过滤器等,可以非常方便,快捷