- Vue声明式渲染 例:{{message}}
- 条件与循环 v-if
循环 v-for
当 v-if 与 v-for 一起使用时,v-for 具有比 v-if 更高的优先级。 - 事件绑定 v-on:click(也可简写为@click)
- 双向绑定 v-model
- Vue生命周期(可分为8个阶段)
(1)beforeCreate 创建前
(2)created(创建后)
(3)beforeMount(载入前)
(4)mounted 载入后
(5)beforeUpdate 更新前
(6)updated 更新后
(7)beforeDestory 销毁前
(8)destroyed 销毁后
vue第一次页面加载会触发哪几个钩子函数?
beforeCreate, created, beforeMount, mounted
DOM渲染在哪个周期中就已经完成?
mountedmounted
1 .在mounted里面修改data里面的数据,并不是想要的直接就拿mounted里面的修改过的值渲染界面,而是还会先拿data里面的初始值进行渲染,然后走beforeUpdate这里拿新的数据进行渲染
2 .这是不是说如果想要修改data里面的数据,要在beforeMounted的时候修改呢
3 .其实beforeMounted也是先按照默认值进行渲染,如果beforeMounted里面修改数据比较慢的话,他是不会等着的,还是会直接执行下一个生命周期函数。也就是说所有的生命周期函数之间没有done的操作
4 .如果在beforeMounted里面加一个setInterval()来延迟修改值的话,也会触发beforeMounted函数
5 .往下看其实发现在mounted生命周期之前修改data里面的数据都是在修改虚拟dom,直到mounted之后任何修改才会被渲染到页面上。
6 .所以理论上只要在mounted之前修改数据都行,比如mounted里面进行ajax请求,也是这个原理
7 .这个还需要再看下源码,应该就能记得比较清楚
8 .挂载页面。beforeCreate1 .进行初始化事件,this指向创建的实例
2 .不能访问到data
3 .不能访问computed
4 .不能访问watch
5 .不能访问methods
6 .以上的方法和数据
7 .用来初始化非响应变量
created钩子
1 .实例创建完成
2 .数据已经和data属性绑定,此时放在data中的属性值发生改变的同时,视图也会改变
3 .可以初始化ajax请求了
4 .可以访问data
5 .可以访问computed
6 .可以访问watch
7 .可以访问methods
8 .可以访问到以上的方法和数据
9 .未挂载到DOM
10 .不能访问到ref属性内容为空数组
beforeMount
1 .判断是否有el选项,有就继续,没有就停止编译,除非调用vm.KaTeX parse error: Expected '}', got '#' at position 287: … Vue({ el: '#̲app', templa…el成员
6 .在挂载开始前被调用,在beforeMount之前,会找到对应的template,并编译成render函数
mounted
1 .在mounted之前还是通过{{message}}进行占位的,因为还没有挂载到页面上,还是在js中以虚拟dom形式存在的
2 .mounted之后换成了我们想要的样子
3 .实例挂载到DOM上,此时可以通过DOM api获取到DOM节点。
4 .nextTick
相关文章: