【Vue】Vue框架
Vue基础
Vue的概述
Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。
Vue的特点
1、采用组件化
模式,提高代码复用率、且让代码更好维护
2、声明式
编码,让编码人员无需直接操作DOM,提高开发效率
3、使用虚拟DOM
+
优秀的Diff算法
,尽量复用DOM节点
原始的写法是覆盖原来的节点,现在采用虚拟DOM+ 优秀的
Diff算法是
原来有的数据就不覆盖,添加新的数据
Vue官网文档
搭建Vue开发环境
引入Vue.js
1 | <!-- 开发环境版本,包含了有帮助的命令行警告 --> |
1 | <!-- 生产环境版本,优化了尺寸和速度 --> |
注意
引入其中一个就好,生成环境版本的体积小,适合上线时使用
解决浏览器控制台提示显示
1、浏览器添加插件 vue_dev_tools.crx
, 处理 "Download the
Vue ...... development experoence"的问题
2、script标签里添加 Vue.config.productionTip = false
,阻止vue 在启动时生成生产提示
Hello word
1 |
|
Live Server
Live Server是一个具有实时加载功能的小型服务器,可以使用它来破解html/css/javascript,但是不能用于部署最终站点。也就是说我们可以在项目中实时用Live Server作为一个实时服务器实时查看开发的网页或项目效果。
vsCode
中安装 Live Server 插件
右键文件内容, 点击 Open with Live Server , 配合之前浏览器上安装的 vue_dev_tools.crx 拓展,我们可以看清Vue整个组件的结构

模板语法
插值语法
插值语法:用于解析(替换)标签 内容
,xxx是js表达式,且可以直接读取到data中的所有属性。
1 | <h3>你好,{{name}}</h3> |
1 | data:{ |
指令语法
指令语法:用于解析(替换)标签 属性
v-bind:href="xxx" 或 简写为 :href="xxx",xxx同样要写js表达式,且可以直接读取到data中的所有属性。
Vue中有很多的指令,且形式都是:v-????,此处我们只是拿v-bind举个例子。
1 | <a v-bind:href="school.url.toUpperCase()" x="hello">点我去{{school.name}}学习1</a> |
1 | data:{ |
数据绑定
单项绑定
1.单向绑定(v-bind):数据只能从data流向页面。
1 | <input type="text" v-model:value="name"> |
1 | new Vue({ |
2.双向绑定(v-bind):数据不仅能从data流向页面,还可以从页面流向data。
1 | <input type="text" v-model:value="name"><br/> |
1 | new Vue({ |
el与data的两种写法
el的第一种
1 | new Vue({ |
el的第二种
1 | const v = new Vue({ |
data的第一种,对象式
1 | new Vue({ |
data的第二种,函数式
1 | new Vue({ |
MVVM模型的理解
1、M:模型(Model):对应data中的数据
2、V:视图(View)模板
3、VM:视图模型(ViewModel):Vue实例对象

数据代理
Object.defineproperty()
这个方法的作用给对象添加一个属性,形参为对象,属性名,属性值
这个对象的属性值默认不参与遍历
1 | let number = 18 |
数据代理
数据代理通过一个对象代理对另一个对象中属性的操作(读/写)
1 | let obj = {x:100} |
Vue中的数据代理
两个对象:
一个是vm,一个data()