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为开发者提供的方法,我们可以通过这 ...
随机推荐
- 2. MariaDB激活二进制日志
翻译人员: 铁锚 翻译时间: 2013年12月25日 原文地址: Activating the Binary Log 参考了: <高可用MySQL 构建健壮的数据中心> 要启用二进制日志功 ...
- 一个App与另一个App之间的交互,添加了自己的一些理解
URL Scheme 是什么? iOS有个特性就是应用将其自身"绑定"到一个自定义 URL scheme 上,该 scheme用于从浏览器或其他应用中启动本应用.常见的分享到第三方 ...
- Java进阶(九)正则表达式
java正则表达式 序 由于项目中使用到了利用正则表达式进行表单的校验,回想一下正则表达式的内容,忘得也差不多了,俗话说:"温故而知新,可以为师矣".今天就简单的温故一下正则表达式 ...
- 【一天一道LeetCode】#20. Valid Parentheses
一天一道LeetCode系列 (一)题目 Given a string containing just the characters '(', ')', '{', '}', '[' and ']', ...
- Linux下xargs命令详解
http://www.cnblogs.com/perfy/archive/2012/07/24/2606101.html xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具.它把一个数 ...
- 数据结构是哈希表(hashTable)
哈希表也称为散列表,是根据关键字值(key value)而直接进行访问的数据结构.也就是说,它通过把关键字值映射到一个位置来访问记录,以加快查找的速度.这个映射函数称为哈希函数(也称为散列函数),映射 ...
- Java-ServletRequestWrapper
/** * * Provides a convenient implementation of the ServletRequest interface that * can be subclasse ...
- BP 神经网络
BP(Back Propagation)网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一.BP ...
- canvas的常见用法
Canvas canvas是一种抽象概念,是2D图形系统中的重要部分,canvas一系列函数最终都是android 2D图形库Skia的一些列封装,对应在SKCanvas.cpp.canvas在系统中 ...
- Android 客户端与服务器交互
在android中有时候我们不需要用到本机的SQLite数据库提供数据,更多的时候是从网络上获取数据,那么Android怎么从服务器端获取数据呢?有很多种,归纳起来有 一:基于Http协议获取数据方法 ...