1,vue.js是什么?
Vue框架是国内尤雨溪团队
开发的,是一套用于构建用户界面的渐进式框架
,Vue 可以自底向上逐层应用
。
Vue只关注视图层,是MVVM
架构,避免直接操作DOM , 降低DOM操作的复杂性。
注意:
V
u
e
只兼容
I
E
9
及以上版本
\color{#FF0000}{注意:Vue只兼容IE9及以上版本}
注意:Vue只兼容IE9及以上版本
因为 Vue.js 使用了 IE8 不能模拟的 ECMAScript 5 特性
例如:Object.defineProperty():会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象。
1.1,渐进式框架
开始时不需要使用它的全部功能,可以后续逐渐添加。
1.2,自底向上逐层应用
先把基础的东西写好,再逐层往上添加效果和功能。
1.3,MVVM架构
MVVM(Model-View-ViewModel),它是一种基于前端开发的响应式的架构模式。
Model:代表数据模型,数据和业务逻辑都在Model层中定义;对应到前端就是javascript对象。
View:代表UI视图,负责数据的展示;对应前端就是dom。
ViewModel:负责监听Model中数据的改变并且控制视图的更新,处理用户交互操作。
ViewModel是View与Model的连接器,它有两个功能:
一是将【模型】转化成【视图】,即将后端传递的数据转化成所看到的页面。实现的方式是:数据绑定。
二是将【视图】转化成【模型】,即将所看到的页面转化成后端的数据。实现的方式是:DOM 事件监听。
2,vue核心思想
2.1,数据驱动(数据双向绑定)
Vue组件data中的数据在创建时,都会被改造为set,get类型的属性,当数据发生变化时set方法就会调用,set方法中添加了重新渲染(仅仅是重新渲染页面中使用这个数据的部分,不是全部重新渲染)的代码。
2.2,组件化
组件化就是实现了扩展HTML元素,封装可用的代码。
1、页面上每个独立的可视/可交互区域视为一个组件。
2、每个组件对应一个工程目录,组件所需的各种资源在这个目录下就近维护。
3、页面不过是组件的容器,组件可以嵌套,自由组合形成新的页面。