vue的生命周期钩子
生命周期过程:
new vue() :vue实例进行初始化,读取所有生命周期函数,并没有执行(不会调用)
beforeCreate():创建前,读取属性,计算属性,添加set/get,读取watch
created() : 创建完成,可以操作数据(ajax),判断是否有el配置/被调用了$mount(),判断是否存在el配置/$mount作用的dom结构
beforeMount() : 将dom结构读取出来,渲染dom结构(挂载的过程)
mounted() : 可以操作dom了,可以使用ref了
跟用户交互、操作数据,在vue工作期间发生了数据变化,数据变化导致dom需要重新渲染,下面两个更新生命周期的方法指的是dom的更新:
beforeUpdate()
updated()
直到执行了$destory(),或者dom结构不在了,vue实例就会销毁
beforeDestory()
distoryed()
vm.$mount() : 挂载vm实例(vm实例作用在dom结构上)
vm.$destory() : 销毁实例和dom的关联,不提倡手动调用$destory
var vm = new Vue({
el: '#app',
data: {
msg: 'hello world',
arr: ['item1', 'item2', 'item3'],
obj: {
name: 'zhangsan'
}
},
computed: {
len(){
return this.msg.length;
}
},
watch: {
msg(newVal, oldVal){
console.log('监听到了msg的变化');
},
arr(){
console.log('监听到了arr的变化');
}
},
methods: {
test(){
console.log('test执行了');
},
btnAction(){
this.$destroy();
},
btn2Action(){
//强制更新dom
this.$forceUpdate();
},
btn3Action(){
this.msg = 'hello vue';
},
btn4Action(){
this.arr.push('item4');
//监听一个属性发生变化导致的dom的更新。
//写$nextTick要求是,数据变化后的代码紧接着写$nextTick
this.$nextTick(()=>{
console.log('dom也变化了');
});
}
},
//生命周期函数
//创建前
beforeCreate(){
console.log('beforeCreate.....');
console.log(this.msg);
},
//创建完成,ajax,操作数据
created(){
console.log('created....');
console.log(this.len);
this.test();
},
beforeMount(){
console.log('beforeMount....');
console.log(this.$refs);
},
mounted(){
console.log('mounted....');
console.log(this.$refs);
},
beforeUpdate(){
console.log('beforeUpdate....');
},
updated(){
console.log('updated....');
},
beforeDestroy(){
console.log('beforeDestroy....');
},
destroyed(){
console.log('destroyed....');
}
})
vue的生命周期钩子的更多相关文章
- vue生命周期图示中英文版Vue实例生命周期钩子
vue生命周期图示中英文版Vue实例生命周期钩子知乎上近日有人发起了一个 “react 是不是比 vue 牛皮,为什么?” 的问题,Vue.js 作者尤雨溪12月4日正面回应了该问题.以下是尤雨溪回复 ...
- Vue 组件生命周期钩子
Vue 组件生命周期钩子 # 1)一个组件从创建到销毁的整个过程,就称之为组件的生命周期 # 2)在组件创建到销毁的过程中,会出现众多关键的时间节点, 如: 组件要创建了.组件创建完毕了.组件数据渲染 ...
- vue之生命周期钩子函数之运用
一.什么是生命周期钩子函数: 每个 Vue 实例在被创建时都要经过一系列的初始化过程——例如,需要设置数据监听.编译模板.将实例挂载到 DOM 并在数据变化时更新 DOM 等.同时在这个过程中也会运行 ...
- vue的生命周期钩子函数
一.vue生命周期图示 二.钩子函数执行时间 beforeCreate 在创建实例之前,data只声明但没有赋值 在实例初始化之后,数据观测 (data observer) 和 event ...
- vue.js生命周期钩子函数及缓存
在使用vue.js进行开发时,使用最多的就是created.mounted.activated. 由于有些情况下,我们需要复用某些组件,因此需要用到keep-alive. 当引入keep-alive时 ...
- VUE的生命周期——钩子函数
- Vue ---- 组件文件分析 组件生命周期钩子 路由 跳转 传参
目录 Vue组件文件微微细剖 Vue组件生命周期钩子 Vue路由 1.touter下的index.js 2.路由重定向 3.路由传参数 补充:全局样式导入 路由跳转 1. router-view标签 ...
- Vue.js的指令、生命周期钩子与数据选项
vue.js官网:https://cn.vuejs.org/v2/guide/components-registration.html 一.常用指令 v-if ... v-else: 作用:控制元素是 ...
- Vue_(组件)实例生命周期钩子
Vue生命周期中文文档 传送门 Vue生命周期:Vue实例从创建到销毁的过程,称为Vue的生命周期: Vue生命周期钩子:又称为Vue生命周期钩子方法/函数,是Vue为开发者提供的方法,我们可以通过这 ...
随机推荐
- mysql语法、特殊符号及正则表达式的使用
http://blog.csdn.net/pipisorry/article/details/46773545 sql语言 结构化的查询语言.(Structured Query Language),是 ...
- Leetcode_49_Anagrams
本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/42744709 Given an array of stri ...
- 写的还不错的专题,android性能优化
http://www.trinea.cn/android/android-performance-demo/
- android Timer与TimerTask的相关操作
项目上面的部分操作需要使用到定时器进行周期性的控制.网络上面对于定时器的操作通常有三种实现方法. 我是通过Timer与TimerTask相结合实现的定时器功能.具体实现过程如下: 第一步,得到Time ...
- 数据挖掘进阶之关联规则挖掘FP-Growth算法
数据挖掘进阶之关联规则挖掘FP-Growth算法 绪 近期在写论文方面涉及到了数据挖掘,需要通过数据挖掘方法实现软件与用户间交互模式的获取.分析与分类研究.主要涉及到关联规则与序列模式挖掘两块.关联规 ...
- Android Notification 版本适配方案
Notification 介绍见:https://developer.android.com/reference/android/app/Notification.html Android api 一 ...
- MySQL 5.6初始配置调优
原文链接: What to tune in MySQL 5.6 after installation原文日期: 2013年09月17日翻译日期: 2014年06月01日翻译人员: 铁锚 随着 大量默认 ...
- 苹果新的编程语言 Swift 语言进阶(十三)--类型检查与类型嵌套
一 类型检查 1. 类型检查操作符 类型检查用来检查或转换一个实例的类型到另外的类型的一种方式. 在Swift中,类型检查使用is和as操作符来实现. is操作符用来检查一个实例是否是某种特定类型,如 ...
- saiku的安装教程
Saiku是一个模块化的开源分析套件,它提供轻量级的OLAP(联机分析处理),并且可嵌入.可扩展.可配置. 环境准备 1.JDK5及以上版本. 2.Saiku Server最新版本,下载地址:http ...
- Linux 系统应用编程——线程基础
传统多任务操作系统中一个可以独立调度的任务(或称之为顺序执行流)是一个进程.每个程序加载到内存后只可以唯一地对应创建一个顺序执行流,即传统意义的进程.每个进程的全部系统资源是私有的,如虚拟地址空间,文 ...