vue2复习之基础

138 阅读4分钟

这是vue复习的一些碎碎念。主要是看官网笔记来进行复习。

一、vue基础部分

1.声明式渲染

官网中介绍:Vue.js的核心是一个允许采用简洁的模板语法来声明式地将数据渲染进DOM的系统。 我的理解是只要写一个指令将数据写在一个组件中,vue可以自动将这个指令渲染进DOM。

2.条件与循环

v-if :根据表达式的真假来判断这个元素是否插入或者删除。 v-for绑定数组的数据来渲染一个项目列表,遍历的时候可以设置一个key值。 注:一般不推荐v-if和v-for一起使用,当v-if与v-for一起使用时,v-for具有比v-if更高的优先级。这意味着v-if将分别重复运行于每个v-for循环中。当你只想为部分项渲染节点时,这种优先级的机制会十分有用,比如: image.png

3处理用户输入

v-on添加一个事件监听器,通过它可以调用vue实例中定义的方法。 image.png v-model实现表单输入和应用状态之间的双向绑定。

4组件化应用

可以将一个大型的项目进行拆分成多个组件,比如一个页面可以拆分为header,footer等多个组件。

5创建一个Vue实例

创建Vue实例的语句 var vm = new Vue({ el: data:{},//要绑定的数据 created:function(){}, methods:}) 一个Vue实例被创建时,会将data对象中所有的property加入到Vue的响应式系统中。当property的值发生改变时,视图将产生响应,即匹配更新为新的值。

6Vue生命周期(重要)

Vue的生命周期钩子图如下所示: 在图中还有三个钩子未显示:nextTick,路由组件专用的activated(激活)和deactivated(失活)。

6.1初始化显示

beforeCreate()、created()、beforeMount()、mounted()。

6.2更新状态 this.xxx =value

beforeUpdated()、updated()

6.3销毁Vue实例:vm.$destroy()

beforeDestroy()、destroyed() 常用的生命周期方法: mounted()发送ajax请求、启动定时器等异步任务可以放在这个钩子里面。 beforeDestroy()做收尾工作,比如清除定时器。 image.png

7模板语法

vue.js使用了基于HTML的模板语法,允许开发者生命式的将DOM绑定至底层Vue实例的数据。 在底层实现上,Vue将模板编译成虚拟DOM渲染函数,结合响应系统,Vue能够智能地计算出最少需要重新渲染多少组件,并把DOM操作次数减到最少【这里感觉是用Diff算法】。

7.1对模板的理解

HTML中包含了一些JS语法代码,语法分为两种,分别为插值语法,指令(以V-开头)。 (1)插值语法 功能:用于解析标签体内容 语法:{{xxx}},xxx会作为js表达式解析 (2)指令语法 功能:解析标签属性、解析标签体内容、绑定事件 EG:v-bind:href='xxx',xxx会作为js表达式被解析 v-bind缩写为“:”,v-on缩写为“@”

8计算属性和侦听器

计算属性(出现在new vue里面,computed:{}):具有缓存功能,vue中data里面的数据是属性,拿着data中数据计算出的结果称为计算属性,计算属性的简写形式只有get,只对数据进行读取操作。 普通的函数方法可以实现一些复杂的计算,但是没有缓存功能。 监听属性:需要在数据变化时执行异步或开销较大的操作时,该方法最有效。

9v-if和v-show的区别

v-if 在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建,会对DOM进行添加或删除操作。 v-show只是在CSS层面进行隐藏或者显示,页面的机构还在。 一般来说,v-if有更高的切换开销,而v-show 有更高的初始渲染开销。因此,如果需要非常频繁地切换,则使用v-show较好;如果在运行时条件很少改变,则使用 v-if 较好。

10列表渲染

v-for指令需要使用item in items形式的特殊语法,其中items是源数据数组,而item则是被迭代的数组元素的别名。 image.png v-for还支持一个可选的第二个参数,即当前项的索引。 image.png 也可以用of替代in作为分隔符。 image.png

v-for渲染的时候可以再添加一个唯一的key,以便它能跟踪每个节点的身份,从而重用和重新排序现有元素,这样在一定程度上个人认为是可以提高渲染效率的。 注意:不要使用对象或数组之类的非基本类型值作为v-for的key。请用字符串或数值类型的值。 image.png

11事件监听

v-on监听DOM事件,并在触发是运行一些js代码,v-on后面绑定的事件在methods对象中进行定义。

12双向数据绑定

v-model可以用在表单、及元素上创建双向数据绑定。它会根据控件类型自动选取正确的方法来更新元素。