Vue 2.x - 入门篇

139 阅读2分钟

vue2.x 渐进式 响应式 组件化 

1. 概念

1.1. 实例

  通过 new Vue() 创建对象,配置对象的部分内容会被提取到vue实例中,完成数据响应式, Object.defineProperty() 监控属性的赋值与取值。data props methods computed

1.2. 挂载

  Vue实例控制网页中某个区域的过程叫做挂载,挂载方式: el:class 选择器; vue.$mount("css选择器") 配置。

1.3. 模板

  Vue实例控制的页面片段。

  • 作用

  提高渲染效率,Vue把模板编译为DOM树(VNode)每个节点相当于js对象,然后再生成真实的DOM。

  • 位置

  挂载元素内部、template配置中、render配置中用函数创建。

  • 内容

  静态内容、 插值 {{js表达式}} mustache语法。

指令 

名称描述
v-html绑定元素的innerHtml,跨站脚本攻击
v-bind属性名 -绑定属性(等价于“:”,去掉v-bind)
v-on事件名 -绑定事件(等价于“@”,去掉v-on)
v-if判断元素是否需要渲染
v-show判断元素是否应该显示
v-for用于循环生成元素
v-bind:key用于帮助在重新渲染时元素的对比,通常和v-for搭配使用,提高渲染效率
v-model语法糖,用于双向绑定,实际上自动绑定了value属性值,和注册input事件
  • 代码环境

  模板中所有js代码,其他的环境均为vue实例。

1.4. 配置

  • data 数据。

  • template 字符串,配置模板。

  • el 配置挂载区域。

  • methods 配置方法。

  • computed 配置计算属性。

  • 计算属性和方法区别

  1. 计算属性使用时,当成属性使用,方法是需要调用的。
  2. 计算属性会进行缓存,如果依赖不变直接使用缓存结果,不会重新计算。
  3. 计算属性可以当成属性赋值。

2. 环境搭建

  ES6模块化 没有模块化造成全局变量污染,难以管理依赖;常见的模块化标准:CommonJS、ES6...
  组件 把一个页面中区域功能细分,每一个区域为一个组件,组件包含:功能(JS代码) 内容(模板代码) 样式(CSS代码)

2.1. Node安装

nodejs.org/zh-cn

npm config set registry https://registry.npm.taobao.org/
npm config get registry
npm install -g @vue/cli
vue --version
vue create 项目名称

2.2 项目创建

npm uninstall -g @vue/cli
npm install -g @vue/cli@3.11.0

重新加载包依赖

npm -install

3. 生命周期

image.png