vue的脚手架搭建以及语法的使用

269 阅读2分钟
  1. vue是JavaScript渐进式框架,采用的是MVVM的设计模式
  2. Vue官方提供了脚手架, 一套标准的文件夹+文件结构+webpack配置,快速搭建项目基本环境,零配置,开箱即用,基于它快速搭建项目基本开发环境

一.创建脚手架-启动服务

vue create  项目名
yarn serve 启动本地热更新开发服务器

- 脚手架-主要文件介绍以及作用:

  1. node_modules - 都是下载的包
  2. public/index.html - 浏览器运行的网页
  3. src/main.js - webpack打包的入口
  4. src/App.vue - Vue页面入口
  5. package.json - 项目配置信息

- 脚手架-代码和结构解析

  1. main.js - 项目打包入口 - Vue初始化
  2. App.vue - Vue页面入口
  3. index.html - 浏览器运行的文件
  4. App.vue => main.js => index.html

- 脚手架-自定义配置

  1. 项目根目录下的vue.config.js就是自定义配置文件
  • 脚手架-eslint 1.eslint是代码检查工具,违反规定就报错 1.在vue.config.js中设置lintOnSave为false重启服务器即可关闭检查

- 脚手架-单vue文件

  1. 独立作用域,不再担心变量重名问题
  2. template里只能有一个根标签
  3. webpack打包后, 插入到index.html显示
  • Vue语法-插值表达式 1.双大括号{{}},可以把Vue变量直接显示在标签内

- Vue指令-v-bind动态属性

  1. :属性名="Vue变量"

- Vue指令-v-on事件绑定

  1. @事件名="methods里的函数名"
  2. @事件名="methods里的函数名(实参)"
  3. 完整写法:
  4. --------set接收要赋予的值
  5. --------get里要返回给这个计算属性具体值

- Vue指令-v-on事件对象

  1. 无实参,直接用第一个形参接收
  2. 有实参,手动传入$event

- Vue指令-v-on修饰符

  1. .stop - 阻止事件冒泡
  2. .prevent - 阻止默认行为

- Vue指令-v-on按键修饰符

  1. .enter - 匹配回车键
  2. .esc - 匹配取消键

- Vue指令-v-model

  1. 可以用在表单上面
  2. 把Vue的数据变量和表单的value属性双向绑定在一起
  3. 下拉菜单的v-model写在select上,value写在option上,vue变量关联value属性的值
  4. v-model用在复选框时:非数组-关联的是checked属性 数组-关联的是value属性 Vue变量初始值会影响到表单的默认状态,因为双向绑定数据相互影响

- Vue指令-v-model修饰符

  1. .number- 转成数值类型后再赋予给Vue数据变量
  2. .trim - 去除两边空格后把值赋予给Vue数据变量
  3. .lazy - 等表单失去焦点,才把值赋予给Vue数据变量

- Vue指令-v-html

  1. 可以设置标签显示的内容
  2. 插值表达式把值当成普通字符串显示
  3. v-html把值当成标签进行解析显示

- Vue指令-v-show和v-if问题

  1. v-show或v-if,给变量赋予true/false,显示/隐藏
  2. v-show是用css方式显示/隐藏标签
  3. v-if直接从DOM树上添加/移除
  4. v-if可以配合v-else

- Vue指令-v-for

  1. 可以遍历数组/对象/固定数字/字符串格
  2. 谁想循环就把v-for写谁身上
  3. 值变量和索引变量不能用到v-for范围以外
  4. v-for="(值变量, 索引变量) in Vue变量" - 一定要注意in两边必须有空

- v-for更新监测

  1. 改变原数组后会导致v-for更新页面
  2. 拿返回的新数组, 直接替换旧数组可以解决v-for不更新页面的问题
  3. this.$set()方法更新某个值

- v-for就地更新

1.循环出新的DOM结构, 和旧的DOM结构对比, 尝试复用标签就地更新内容

  • v-for中key作用 1.无key, 就地更新,有key, 按照key比较 1.唯一不重复的字符串或者数值 1.有id用id, 无id用索引 1.可以提高更新的性能

- vue_动态class

1.:class=“{类名: 布尔值}”, true使用, false不用

- vue_动态style

1.:style="{css属性名: 值}"

- vue_侦听器

  1. 监听某个变量值的改变
  2. 使用watch配置项, key是要侦听的data/计算属性名

- vue_深度侦听和立即侦听

  1. 监听一个对象/数组的改变
  2. 把侦听器写成对象形式, 给handler方法和deep:true