VueJS生命周期

一、生命周期

vue在生命周期中有这些状态,
beforeCreate,created,beforeMount,mounted,beforeUpdate,updated,beforeDestroy,destroyed。Vue
在实例化的过程中,会调用这些生命周期的钩子,给我们提供了执行自定义逻辑的机会。

在这里插入图片描述
vue对象初始化过程中,会执行到beforeCreate,created,beforeMount,mounted 这几个钩子的内容
beforeCreate :数据还没有监听,没有绑定到vue对象实例,同时也没有挂载对象
created :数据已经绑定到了对象实例,但是还没有挂载对象
beforeMount: 模板已经编译好了,根据数据和模板已经生成了对应的元素对象,将数据对象关联到了对象的
el属性,el属性是一个HTMLElement对象,也就是这个阶段,vue实例通过原生的createElement等方法来创
建这个html片段,准备注入到我们vue实例指明的el属性所对应的挂载点
mounted:将el的内容挂载到了el,相当于我们在jquery执行了(el).html(el),生成页面上真正的dom,上面我们
就会发现dom的元素和我们el的元素是一致的。在此之后,我们能够用方法来获取到el元素下的dom对象,并
进 行各种操作
当我们的data发生改变时,会调用beforeUpdate和updated方
beforeUpdate :数据更新到dom之前,我们可以看到$el对象已经修改,但是我们页面上dom的数据还
没有发生改变
updated: dom结构会通过虚拟dom的原则,找到需要更新页面dom结构的最小路径,将改变更新到
dom上面,完成更新
beforeDestroy,destroed :实例的销毁,vue实例还是存在的,只是解绑了事件的监听还有watcher对象数据
与view的绑定,即数据驱动
在这里插入图片描述

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title>vue生命周期   </title><script type="text/javascript" src="js/vue-v2.6.10.js" ></script></head><body><div id="app">  {{message}}</div><script>//创建vue对象//钩子函数(回调函数):不用手动调用的函数/** $.ajax({* 	url:"",*  type:"",*  data:"",*  dataType:"",*  success:function(){* 	*  }*  ,error:function(){* 	*  }* * })*/var vm = new Vue({el:"#app",  // 选择器    $("#app")data:{message:"hello"},methods:{findAll:function(){}},beforeCreate: function() {console.log(this);showData('创建vue实例前', this);},created: function() {this.findAll();showData('创建vue实例后', this);},beforeMount: function() {showData('挂载到dom前', this);},mounted: function() {showData('挂载到dom后', this);},beforeUpdate: function() {showData('数据变化更新前', this);},updated: function() {showData('数据变化更新后', this);},beforeDestroy: function() {vm.test = "3333";showData('vue实例销毁前', this);},destroyed: function() {showData('vue实例销毁后', this);}});function showData(process, obj) {console.log(process);console.log('data 数据:' + obj.test)console.log('挂载的对象:')console.log(obj.$el)realDom();console.log('------------------')console.log('------------------')}function realDom() {console.log('真实dom结构:' + document.getElementById('app').innerHTML);}vm.message="good...";vm.$destroy();
</script>
</body>
</html></script></body>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/333195.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux的命令之 man -- 查看帮助文档

文章目录浏览文本内容的快捷键向前滚屏向后滚屏跳跃搜索使用这个命令可以查看任何命令的在线帮助文件&#xff0c;例如&#xff0c;查看命令 find 的在线帮助文档&#xff1a; [roothtlwk0001host ~]# man find打开命令的帮助文档后&#xff0c;可以使用鼠标滚轮上下滚动来浏览…

jdk8切换成jdk6_运行中的JDK语言功能预览:切换表达式

jdk8切换成jdk6JEP 12 [“预览语言和VM功能”]在其主页上描述如下&#xff1a; 预览语言或VM功能是Java SE平台的一项新功能&#xff0c;该功能已完全指定&#xff0c;完全实现但不是永久性的。 JDK功能发布中提供了该功能&#xff0c;以根据实际使用情况激发开发人员反馈。 这…

VueJS ajax综合案例

一、目录结构和注意事项 1.目录结构 2.注意事项 &#xff08;1&#xff09;data.html里面的Vue &#xff08;2&#xff09;箭头函数 二、引入依赖 <?xml version"1.0" encoding"UTF-8"?><project xmlns"http://maven.apache.org/POM/4.0…

Linux 下如何查找 MySQL 数据库的数据根目录呢?

笔者的服务器系统和MySQL版本如下&#xff1a; [roothtlwk0001host ~]# mysql -V mysql Ver 14.14 Distrib 5.7.31, for Linux (x86_64) using EditLine wrapper [roothtlwk0001host ~]# cat /etc/redhat-release CentOS Linux release 8.2.2004 (Core) MySQL 的配置文件路径…

libreoffice_利用Excel或LibreOffice的业务输入进行单元测试约束

libreoffice业务专家向我们&#xff08;开发人员&#xff09;解释业务限制。 但是&#xff0c;如何确保我们正确理解它们呢&#xff1f; 或更糟糕的是&#xff0c;一旦约束条件正式化&#xff0c;我们如何测试他们之间是否同意&#xff1f; 好吧&#xff0c;有一种很棒的方法可…

VueJS ajax综合案例(修改用户信息实现步骤)

修改用户信息 1.过程演示 2.代码实现

MacOS下如何通过命令搜索文件和打开文件

文章目录find 命令查找名称含有指定关键词的文件和目录locate 命令查找以指定字符串结尾的文件路径查看命令 locate 的使用说明mdfind 命令查找名称中含有指定关键词的文件搜索内容中包含指定关键词的文件在指定目录中搜索内容包含指定关键词或者名称含有指定关键词的文件搜索并…

多云和混合云_多云互操作性!=云服务聚合

多云和混合云多云定义为一种方法&#xff0c;该方法将来自多个云供应商的多个云&#xff08;公共云或私有云&#xff09;组合在一起。 但是&#xff0c;这不是来自不同供应商的各种服务的集合&#xff0c;它需要一种强制性的胶合剂–云不可知的方法&#xff0c;并在所有提供商之…

安装、启动、配置zookeeper(window版)

安装zookeeper (1)解压安装包 &#xff08;2&#xff09;修改zoo_sample.cfg文件名为&#xff1a;zoo.cfg (3)在加压文件下建立data文件夹 &#xff08;4&#xff09;修改zoo.cfg (5)启动 注意如果zookeeper启动失败有可能是&#xff0c;第二步的zoo_sample.cfg文件名没改&…

命令终端(CMD)自动补全功能 — Tab Complete 功能

处理特殊字符 如果目录中有特殊字符&#xff08;空格&#xff0c;括号&#xff0c;引号&#xff0c;[]&#xff0c;!&#xff0c;$&#xff0c;&&#xff0c;*&#xff0c;;&#xff0c;|&#xff0c;\&#xff09;&#xff0c;必须使用特殊的语法来表示这些字符。例如&am…

自动驾驶行车记录仪训练集_无服务器安全性:将其置于自动驾驶仪上

自动驾驶行车记录仪训练集Ack &#xff1a;本文是从个人经验以及从无服务器安全性的其他多个来源学到的东西的混合。 我无法在这里列出或确认所有这些信息&#xff1b; 但是&#xff0c;应该特别感谢The Register &#xff0c; Hacker Noon &#xff0c; PureSec以及Serverless…

MySQL数据库模式(SQL_MODE)中的STRICT_TRANS_TABLES和STRICT_ALL_TABLES

-InnodbMyisamSTRICT_TRANS_TABLES无论插入单行或是多行&#xff0c;只要插入数据与字段类型不兼容&#xff0c;则insert操作失败并回滚插入单行数据与字段类型不兼容&#xff0c;则insert操作失败并回滚&#xff1b;插入多行数据&#xff0c;如果插入数据的第一行内容与字段类…

spock 集成测试_Spock 1.2 –轻松进行集成测试中的Spring Bean模拟

spock 集成测试探索如何使用Spock 1.2将Spock的模拟和间谍自动注入到Spring上下文中。 Spock中的存根/模拟/间谍&#xff08;及其生命周期&#xff09;一直与Spock Specification类紧密结合。 只能在测试类中创建它们。 因此&#xff0c;使用共享的&#xff0c;预定义的模拟&a…

dubbo中log4j检查(开发环境中建议设置为false)

一、在pom.xml里面引入依赖 1. 添加log4j文件 2. 文件内容 # Set root category priority to INFO and its only appender to CONSOLE. #log4j.rootCategoryINFO, CONSOLE debug info warn error fatal log4j.rootCategorydebug, CONSOLE, LOGFILE, info # Set…

Linux 命令之 useradd -- 添加用户

文章目录简介相关文件内容说明常用选项参考示例添加新用户 test添加新用户 test&#xff0c;且不创建家目录&#xff0c;并且禁止登陆添加新用户 test&#xff0c;指定 UID 为 888&#xff0c;指定归属用户组为 root&#xff0c;cool&#xff0c;其默认使用的 shell 类型为 /bi…

idea 构建spring_以Spring方式构建企业Java应用程序

idea 构建spring我认为可以说Java EE在Java开发人员中享有很高的声誉。 尽管多年来确实在各个方面都有所改善&#xff0c;甚至将其改名为Eclipse Foundation成为Jakarta EE &#xff0c;但其苦味仍然相当强烈。 另一方面&#xff0c;我们拥有Spring框架 &#xff08;或者为了更…

入门案例Maven搭建SpringBoot工程

一、引入依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.…

Linux 命令之 passwd -- 修改用户账号密码

文章目录简介相关文件常用选项参考示例修改当前登陆的账户密码修改其他用户密码读取标准输入的值&#xff0c;设置成指定用户的密码锁定密码不允许用户修改解除锁定密码&#xff0c;允许用户修改下次登陆强制改密码清除登录密码。清除之后登录时无需密码&#xff0c;风险极大&a…

自动化测试特定区域滑动_自动化用户特定实体的访问控制

自动化测试特定区域滑动实际上&#xff0c;每个Web应用程序都应该有多个用户&#xff0c;并且每个用户都有一些数据-帖子&#xff0c;文档&#xff0c;消息等等。 最明显的事情是保护这些实体免遭非这些资源合法所有者的用户获取。 不幸的是&#xff0c;这不是最容易的事情。 …

Linux 命令之 usermod -- 用于修改用户的基本信息

文章目录命令介绍常用选项参考示例设置用户默认使用的shell类型将不能登录的用户改成可以登录的限定用户不能 shell 登录&#xff0c;只能 ftp修改用户的主目录更改用户的名称锁定用户的密码解锁用户的密码将用户添加到指定用户组命令介绍 usermod 命令用于修改用户的基本信息…