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生命周期与钩子函数的更多相关文章

  1. [前端] VUE基础 (5) (过滤器、生命周期、钩子函数)

    一.过滤器 过滤器分为局部过滤器和全局过滤器. 1.局部过滤器 <body> <div id="app"> </div> <script ...

  2. Vue – 基础学习(1):对生命周期和钩子函的理解

    一.简介 先贴一下官网对生命周期/钩子函数的说明(先贴为敬):所有的生命周期钩子自动绑定 this 上下文到实例中,因此你可以访问数据,对属性和方法进行运算.这意味着你不能使用箭头函数来定义一个生命周 ...

  3. vue学习(五)生命周期 的钩子函数

    生命周期的钩子函数 主要有以下几种 beforeCreate created beforeMount mounted beforeUpdate updated activated deactivate ...

  4. Vue基础进阶 之 实例方法--生命周期

    在上一篇博客中我们知道生命周期的方法: 生命周期: vm.$mount:手动挂载Vue实例: vm.$destroy:销毁Vue实例,清理数据绑定,移除事件监听: vm.$nextTick:将方法中的 ...

  5. vue学习之生命周期和钩子函数

    参考文章:Vue2.0 探索之路——生命周期和钩子函数的一些理解 抛出问题: 我们有时候会在几个钩子函数里做一些事情,那么什么时候做,该在哪个函数里做? 生命周期简介 结合代码看el 和 data以及 ...

  6. vue生命周期、钩子函数

    https://segmentfault.com/a/1190000011381906    详解生命周期和钩子函数 每个vue实例再被创建之前都要经过一系列的初始化过程,这个过程就是vue的生命周期 ...

  7. vue教程2-01 vue生命周期、钩子函数

    vue教程2-01 vue生命周期.钩子函数 <!DOCTYPE html> <html lang="en"> <head> <meta ...

  8. Vue(3)- 安装脚手架、过滤器、生命周期的钩子函数、vue-router基本使用

    一.安装脚手架 1.下载node.js,本文下载版本为node-v8.12.0-x64.msi,一键式安装. 2.安装完成后,打开终端,输入node,可进入node环境(两次ctrl+c退出),如下图 ...

  9. Vue 3 --安装脚手架、过滤器、生命周期的钩子函数、vue-router基本使用

    一.安装脚手架 1.下载node.js,本文下载版本为node-v8.12.0-x64.msi,一键式安装. 2.安装完成后,打开终端,输入node,可进入node环境(两次ctrl+c退出),如下图 ...

  10. vue学习笔记(二)vue的生命周期和钩子函数

    前言 通过上一章的学习,我们已经初步的了解了vue到底是什么东西,可以干什么,而这一篇博客主要介绍vue的生命周期和它常用的钩子函数,如果有学过java的园友可能有接触到在学习servlet的时候学过 ...

随机推荐

  1. Python 命名笔记

    类名开头大写,驼峰命名 函数名,变量名都小写, 全局常量 如COUNT, 使用全部大写 https://www.cnblogs.com/lytwajue/p/7324724.html 这个是全局变量关 ...

  2. k8s 高级调度 亲和力和反亲和力、绑定标签、污点容忍污点

    通过标签绑定 spec: nodeSelector: bigdata-node: bigdata containers: - env: pod只能运行在有bigdata-node: bigdata 标 ...

  3. 过拟合VS欠拟合、偏差VS方差

    1. 过拟合 欠拟合 过拟合:在训练集(training set)上表现好,但是在测试集上效果差,也就是说在已知的数据集合中非常好,但是在添加一些新的数据进来训练效果就会差很多,造成这样的原因是考虑影 ...

  4. windows server配置ftp服务器以及外网访问

    在Server2012打开 服务器管理器,选择 添加角色与功能,添加Web服务下的FTP服务器 安装后. 我们现在C盘创建一个名字为FTP的文件夹,里面创建一个ftp的文件,做测试用,如图 打开服务器 ...

  5. python对字典及列表递归排序

    对字典内所有内容进行排升序排序,包括,子数组,子字典 需要注意: 1.字典因为是在一定程序上无序的,所以这里采用了内置包,来变成有序字典 from collections import Ordered ...

  6. eclipse的调试模式以及断点运行

    先在代码序号处打个点. 点击debug调试模式 然后再点击 如果有打断点,则会在断点处结束,如果没有,会一直一步一步向下直至结束.

  7. 启动软件丢失 MSVCR100.dll 系列,缺少库的问题

    做安装包时,Installshield2015工具,里可以添加需要的库. 不然需要自己一个个处理. 参考链接:https://zhidao.baidu.com/question/338311071.h ...

  8. VS2010和选中代码相同的代码的颜色设置,修改高亮颜色

    使用Visual Studio 2010, 发现很难看清非活动的选中代码,研究了下,发现以下方法可以设置: 1. 菜单:工具  -> 选项  ->环境  ->字体和颜色 2. 在右边 ...

  9. Thinkphp 框架

    核心函数库:   配置文件:     语言包  :  核心资源库:入口文件 核心配置文件 系统行为目录:功能目录:核心文件:摸板类文件目录

  10. Unity shader学习之Forward Rendering Path

    Forward rendering path shader如下: // Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObje ...