Vue.js 基础知识
一、模式
1、MVC(Model【模型】,Controller【控制器】,View【视图】)主要基于分层的目的,让彼此职责分开
View一般通过Controller和Model进行联系。基本联系都是单向的。
用户操作后,用户通过操作Controller来操作Model以达到View的变化
2、MPV
Model提供数据,View显示,Presenter负责处理逻辑。Presenter和具体的View没有实际关联,通过定义好的接口进行交互,变更View不影响Presenter
3、MVVM
View变更会自动同步给ViewModel,ViewModel的变更也会同步给View;同步是应为ViewModel实现了observer,当属性发生变更时可以触发对应的操作
二、Vue.js
1、本质
只聚焦视图层,是一个构建数据驱动的Web界面的库,通过简单的API提供高效的数据绑定和灵活的组件系统
特点:
- 轻量:体积小,不依赖其他的基础库
- 插件化:非常方便的加载对应插件
- 数据绑定:
- 指令:
三、与其他框架的区别
1、AngularJS,来自Google,应用于PC内复杂的交互系统
相同点:
- 都支持指令
- 都支持过滤器
- 都支持双向绑定
- 都不支持低端的浏览器
不同点
- AngularJS学习成本比较高
- 性能上,AngularJS依赖对数据进行脏检查,Wather越多越慢,Vue.js基于依赖追踪观察并且使用异步队列更新,所有的数据都是独立触发的。
2、React
相同点:
- 对文件内容都有一些约定,需要编译后使用
- 中心思想相同,一切都是组件,组件和实例之间可以嵌套使用
- 提供合理的钩子函数
- 都不内置AJAX等功能到核心包,以插件的形式加载
- 组件开发中都支持mixins的特性
不同点:
- React依赖Virtual DOM,Vue.js使用的是DOM模板
- Vue.js在模板中提供了指令,过滤器等,可以非常方便快捷的操作DOM
3、