Vue基础进阶 之 Vue生命周期与钩子函数
Vue生命周期
Vue生命周期:Vue实例从创建到销毁的过程,称为Vue的生命周期;
Vue生命周期示意图:https://cn.vuejs.org/v2/guide/instance.html#生命周期图示;
Vue生命周期钩子:又称为Vue生命周期钩子方法/函数,是Vue为开发者提供的方法,我们可以通过这些方法在Vue实例创 建、挂载、数据更新、销毁等阶段做一些事情;
Vue的生命周期钩子函数
钩子函数的详情介绍网址:https://cn.vuejs.org/v2/guide/instance.html#实例生命周期钩子
beforeCreate与created钩子函数进行对数据的观测
示例效果:

该两个钩子函数的vue代码:
<script>
window.onload= () =>{
new Vue({
el:'div',
data:{
msg:'欢迎来到perfect*博客园!!!!'
},
beforeCreate(){
alert("1 beforCreate 创建Vue实例,但是未进行数据的观测"+this.msg);
},
created(){
alert("2 created创建Vue实例,进行数据的观测了"+this.msg);
}
})
}
</script>
html:
<div >
<input type="text" v-model="msg" /><br />
<h1>{{msg}}</h1> </div>
beforeMount与mounted钩子函数进行对数据的挂载:

挂载实例的钩子函数代码:
beforeMount(){
alert("3 beforeMount挂载vue实例前"+this.msg+this.$refs.msgText.innerText);
},
mounted(){
alert("4 mounted已经挂载vue实例了"+this.msg+this.$refs.msgText.innerText);
}
HTML:
<h1 ref='msgText'>{{msg}}</h1>
beforeUpdate与updated钩子函数:

数据更新前与更新后的钩子函数:
beforeUpdate(){
alert("5 beforeUpdate数据更新前"+this.msg+this.$refs.msgText.innerText);
},
updated(){
alert("6 updated数据更新后"+this.msg+this.$refs.msgText.innerText);
}
html:
<input type="text" v-model="msg" /><br />
<h1 ref='msgText'>{{msg}}</h1>
beforeDestroy与destroyed的钩子函数:

由效果图可知当点击销毁后,数据就不能再进行观测了,由此观测不到数据的修改
销毁前与销毁后的钩子函数代码:
beforeDestroy(){
alert("7 beforeDestroy 销毁前");
},
destroyed(){
alert("8 destroyed 销毁后");
},
methods:{
onDestroy(){
this.$destroy();
}
html:
<input type="text" v-model="msg" /><br />
<h1 ref='msgText'>{{msg}}</h1>
<button @click="onDestroy">销毁</button>
以上所有钩子函数组成的代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Vue生命周期钩子函数</title>
<script type="text/javascript" src="../js/vue.js" ></script>
<script> window.onload= () =>{
new Vue({
el:'div',
data:{
msg:'欢迎来到perfect*博客园!!!!' }, beforeCreate(){
alert("1 beforCreate 创建Vue实例,但是未进行数据的观测"+this.msg); }, created(){
alert("2 created创建Vue实例,进行数据的观测了"+this.msg); }, beforeMount(){
alert("3 beforeMount挂载vue实例前"+this.msg+this.$refs.msgText.innerText); },
mounted(){
alert("4 mounted已经挂载vue实例了"+this.msg+this.$refs.msgText.innerText); },
beforeUpdate(){
alert("5 beforeUpdate数据更新前"+this.msg+this.$refs.msgText.innerText); },
updated(){
alert("6 updated数据更新后"+this.msg+this.$refs.msgText.innerText); },
beforeDestroy(){
alert("7 beforeDestroy 销毁前");
},
destroyed(){
alert("8 destroyed 销毁后"); },
methods:{
onDestroy(){ this.$destroy();
} } }) }
</script>
</head>
<body>
<div >
<input type="text" v-model="msg" /><br />
<!--<h1>{{msg}}</h1>-->
<h1 ref='msgText'>{{msg}}</h1>
<button @click="onDestroy">销毁</button> </div>
</body>
</html>
钩子函数
Vue基础进阶 之 Vue生命周期与钩子函数的更多相关文章
- [前端] VUE基础 (5) (过滤器、生命周期、钩子函数)
一.过滤器 过滤器分为局部过滤器和全局过滤器. 1.局部过滤器 <body> <div id="app"> </div> <script ...
- Vue – 基础学习(1):对生命周期和钩子函的理解
一.简介 先贴一下官网对生命周期/钩子函数的说明(先贴为敬):所有的生命周期钩子自动绑定 this 上下文到实例中,因此你可以访问数据,对属性和方法进行运算.这意味着你不能使用箭头函数来定义一个生命周 ...
- vue学习(五)生命周期 的钩子函数
生命周期的钩子函数 主要有以下几种 beforeCreate created beforeMount mounted beforeUpdate updated activated deactivate ...
- Vue基础进阶 之 实例方法--生命周期
在上一篇博客中我们知道生命周期的方法: 生命周期: vm.$mount:手动挂载Vue实例: vm.$destroy:销毁Vue实例,清理数据绑定,移除事件监听: vm.$nextTick:将方法中的 ...
- vue学习之生命周期和钩子函数
参考文章:Vue2.0 探索之路——生命周期和钩子函数的一些理解 抛出问题: 我们有时候会在几个钩子函数里做一些事情,那么什么时候做,该在哪个函数里做? 生命周期简介 结合代码看el 和 data以及 ...
- vue生命周期、钩子函数
https://segmentfault.com/a/1190000011381906 详解生命周期和钩子函数 每个vue实例再被创建之前都要经过一系列的初始化过程,这个过程就是vue的生命周期 ...
- vue教程2-01 vue生命周期、钩子函数
vue教程2-01 vue生命周期.钩子函数 <!DOCTYPE html> <html lang="en"> <head> <meta ...
- Vue(3)- 安装脚手架、过滤器、生命周期的钩子函数、vue-router基本使用
一.安装脚手架 1.下载node.js,本文下载版本为node-v8.12.0-x64.msi,一键式安装. 2.安装完成后,打开终端,输入node,可进入node环境(两次ctrl+c退出),如下图 ...
- Vue 3 --安装脚手架、过滤器、生命周期的钩子函数、vue-router基本使用
一.安装脚手架 1.下载node.js,本文下载版本为node-v8.12.0-x64.msi,一键式安装. 2.安装完成后,打开终端,输入node,可进入node环境(两次ctrl+c退出),如下图 ...
- vue学习笔记(二)vue的生命周期和钩子函数
前言 通过上一章的学习,我们已经初步的了解了vue到底是什么东西,可以干什么,而这一篇博客主要介绍vue的生命周期和它常用的钩子函数,如果有学过java的园友可能有接触到在学习servlet的时候学过 ...
随机推荐
- 16个PHP设计模式详解
说明:该教程全部截选自实验楼教程[16个PHP设计模式详解]:主要介绍16个常用的设计模式的基础概念和技术要点,通过UML类图帮助理解设计模式中各个类之间的关联关系,针对每种设计模式都使用PHP完成了 ...
- [LeetCode] 系统刷题6_Linked List
1. Dummy Node 2. Basic skills [LeetCode] 206. Reverse Linked List_Easy tag: Linked List 2. Fast slow ...
- HttpwebRequest - 带ViewState的网页POST请求
这是我今天下午碰到的案例,一个退订页面的post请求,请求头信息都很明确,but看看下面这个请求体,除了最后一个key是我的页面控件名称,其他的几个ViewState相关都是what呢?(ViewSt ...
- plt.contour 与 plt.contourf
contour:轮廓,等高线 1.为等高线上注明等高线的含义: cs = plt.contour(x, y, z) plt.clabel(cs, inline=True, fontsize=10)#i ...
- JAVA编程思想学习笔记6-chap16-18-斗之气6段
1.java.util.Arrays package com.chengjie; import java.util.Arrays; import java.util.List; public clas ...
- 从零开始一起学习SLAM | 不推公式,如何真正理解对极约束?
自从小白向师兄学习了李群李代数和相机成像模型的基本原理后,感觉书上的内容没那么难了,公式推导也能推得动了,感觉进步神速,不过最近小白在学习对极几何,貌似又遇到了麻烦... 小白:师兄,对极几何这块你觉 ...
- gulp打包公共部分
安装gulp cnpm install gulp -g 输入gulp -v看到版本号说明安装成功了 安装gulp-file-include:npm install gulp-file-include ...
- python入门第一篇
python里面 单行注释用:#被注释内容 多行注释用:"""被注释内容""" 要想py2.7和py3.5都能运行,必须在文件头部加: #/ ...
- Bootstrap-媒体查询-屏幕大小
.container{padding:0 15px; margin:0 auto;} .container:before{ content: ''; display: table;/*防止第一个子元素 ...
- linux常用系统工作命令
1.echo命令 echo命令用于在终端输出字符串或变量提取后的值,格式为“echo [字符串 | $变量]”. 2.date命令 date命令用于显示及设置系统的时间或日期,格式为“date [选项 ...