1. 遇见Vue.js
1.1 MVX模式
1.1.1 MVC
Model controller view
view通过controller来和model联系,协调。view与model不直接联系,基本联系都是单向的
1.1.2 MVP
model controller/presenter view
presenter完全把view和model进行了分离,主要的逻辑都在presenter里实现
1.1.3 MVVM
model view viewModel
view的变化会自动更新到viewModel,viewModel的变化也会同步到view
1.2 Vuejs是什么
特性:
- 确实轻量
- 数据绑定
- 指令
- 插件化
1.2.1 Vuejs与其他框架的区别- 与angularJS的区别
相同点:- 都支持指令–内置指令和自定义指令
- 都支持过滤器–内置过滤器和自定义过滤器
- 都支持双向绑定
- 都不支持低端浏览器(比如IE6/IE7/IE8)
不同点: - angularJS学习成本高
- 性能上,angular依赖对数据做胀检查,所以Dependency Injection特性,而Vue.js本身提供的API都比较简单直观
- 与React的区别
相同点:- React采用特殊的JSX语法,Vue.js在组件开发中也推崇编写.vue特殊文件格式,对文件内容都有一些约定,两者都需要编译后使用
- 中心思想相同:一切都是组件,组件实例之间可以嵌套
- 都提供合理的钩子函数,可以让开发者定制化地去处理需求
- 都不内置类似AJAX、Router等功能核心包,而是以其他方式(插件)加载
- 在组件开发中都支持mixins的特性
不同点:
React依赖virtual DOM,而VueJs使用的是DOM模板。React采用的virtrual Dom会对渲染出来的结果做胀检查
Vuejs在模板中提供了命令、过滤器等,非常方便、快捷地操作DOM
- 与angularJS的区别