Vue2学习之路 · 一 :介绍、MVVM模型、模板语法、数据绑定、数据代理

113 阅读3分钟

学习vue之前需要拥有的基础

  1. 熟悉HTML、CSS、JavaScript前端三大件基础知识
  2. 掌握一些ES6的新语法
  3. 初步掌握JSON,闭包,AJAX…等JavaScript技术

介绍

Vue.js是一套用于构建用户界面的 ‘ 渐进式框架 ’。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。 官网:Vue.js (vuejs.org)

特点

采用组件化模式,提高代码复用率,而且让代码更好维护

声明式编码,让程序员不需要直接操作DOM,提高开发效率

初始化Vue

1、想让Vue工作,就必须创建一个Vue实例,并且要传入一个配置对象

2、容器中的代码被称为Vue模板

3、容器和Vue实例是一对一的关系,一个Vue实例只能控制一个容器,一个容器只能被一个实例控制

4、在真实开发中只有一个Vue实例,并且会配合组件一起使用

5、{{xxx}}中的xxx需要写js表达式,并且xxx可以自动读取到配置对象中data属性中的所有属性

6、一旦data中的数据发生改变,那么在页面中用到这个数据的地方也会自动更新

Vue中的MVVM模型

M:模型(Model):对应data中的数据

V:视图(View):模板

VM:视图模型(ViewModel):Vue实例对象

tips

data中的所有属性,最后都出现在了vm身上

vm身上所有的属性以及Vue原型上所有的属性,在Vue模板中都可以直接使用

模板语法

插值语法

功能:用于解析标签体的内容

写法:{{ js表达式 }},并且可以直接读取到data中的属性

指令语法

功能:用于解析标签(包括:标签属性、标签体内容、绑定事件……)

例如:v-bind:href="js表达式"或简写为 :href="js表达式",并且可以直接读取到data中的属性

tips

Vue中有许多的指令,且形式都是v-xxx

数据绑定

单向绑定(v-bind)

数据只能从data传递向页面,页面不能传递到data的属性中

双向绑定(v-model)

数据不仅能从data传递到页面,还能从页面传递到data

tips

双向数据绑定只能用在表单类元素上,如input、select等

v-model:可以简写成v-model,因为v-model默认收集的就是表单的value值

Vue中的数据代理

Vue中的数据代理是通过vm对象来代理data对象中属性的操作,好处是更加方便操作data中的数据

原理

通过Object.defineProperty()把data对象中所有属性添加到vm上,给每一个添加到vm上的属性,都指定一个get和set方法,在get和set内部去操作data中对应的数据