(1)渐进式vue
构建用户界面的渐进式框架
只关注视图层
(2)vue中的两个核心点
- 响应的数据绑定:当数据发生改变时,自动更新视图
利用Object.definedProperty(该属性IE8不兼容)中的setter/getter代理数据,监控对数据的操作
- 组合的视图组件:UI界面映射为组件树;划分组件可维护、可重用、可测试
(3)虚拟DOM
大量dom操作会很慢,通常在更新数据后重新渲染页面。如果只改变发生改变的部分,减少资源的浪费。利用在内存中生成与真实DOM与之对应的数据结构,这个在内存中生成的结构称之为虚拟DOM.
当数据发生变化时,能够智能地计算出重新渲染组件的最小代价并应用到DOM操作上。
当数据改变时,渲染,然后对比两个虚拟DOM树改变的地方,以最小代价渲染出真实的DOM
虚拟DOM在js中的映射可以理解为对象嵌套对象
(4)MVVM模式
利用其可以实现双向数据绑定
M:Model 数据模型
V:view视图模板
VM:view-Model视图模型,执行数据绑定及监听dom事件
(5)vue实例
vue实例:每一个应用都是通过Vue这个构造函数创建根实例启动
new Vue(选项对象)
其中,需传入选项对象,对象包括挂载元素、数据、模板、方法等
el: 挂载元素选择器 String|HtmlElement data:代理数据 Object|Function methods:定义方法 Object
vue代理data数据:
每个vue都会代理其data对象里所有的属性,这些被代理的属性是响应式的,新添加的属性不具备响应功能,改变后不会更新视图
Vue实例自身的属性和方法
暴露自身的属性和方法,以开头,如开头,如el $data
(6)
.