当前位置: 首页 > wzjs >正文

网络推广网站建设有限公司南宁百度网站推广

网络推广网站建设有限公司,南宁百度网站推广,代办公司执照,制作视频网站开发生命周期 简介 beforeCreatecreatedbeforeMountmountedbeforeUpdateupdatedbeforeDestroydestroyed beforeCreate 实例初始化之后,数据观测、数据代理、事件配置之前被调用。 此时:无法通过 vm 访问到 data、computed、methods 上的方法和数据 案例 代…

生命周期

简介

  • beforeCreate
  • created
  • beforeMount
  • mounted
  • beforeUpdate
  • updated
  • beforeDestroy
  • destroyed

在这里插入图片描述

beforeCreate

实例初始化之后,数据观测、数据代理、事件配置之前被调用。
此时:无法通过 vm 访问到 datacomputedmethods 上的方法和数据

案例

  • 代码
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><title>生命周期</title><!--  引入Vue  --><script type="text/javascript" src="../js/vue.js"></script><style></style></head><body><div id="root"><h1>生命周期</h1><div><h2>v-text</h2><span v-text="content"></span><h2>v-html</h2><span v-html="content"></span></div></div></body><script type="text/javascript">Vue.config.productionTip = false; // 阻止vue在启动是生成生产提示Vue.filter("globalStr", function (value) {console.log(" global filter splice time (时分秒)... ");return value.split(" ")[1];});const vm = new Vue({el: "#root",data: {name: "Vue 扛把子",content:'<button onclick="alert(1)">test</button>'},beforeCreate() {console.log('生命周期:beforeCreate')console.log(this)debugger},computed: {},methods: { say(){console.log("hello vue")}},filters: {},});</script>
</html>
  • 效果

在这里插入图片描述

created

实例初始化后立即调用,数据观测、数据代理、事件配置已完成。
此时:可以通过 vm 访问到 datacomputedmethods 上的方法和数据

案例

  • 代码
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><title>生命周期</title><!--  引入Vue  --><script type="text/javascript" src="../js/vue.js"></script><style></style></head><body><div id="root"><h1>生命周期</h1><div><h2>v-text</h2><span v-text="content"></span><h2>v-html</h2><span v-html="content"></span></div></div></body><script type="text/javascript">Vue.config.productionTip = false; // 阻止vue在启动是生成生产提示Vue.filter("globalStr", function (value) {console.log(" global filter splice time (时分秒)... ");return value.split(" ")[1];});const vm = new Vue({el: "#root",data: {name: "Vue 扛把子",content:'<button onclick="alert(1)">test</button>'},beforeCreate() {console.log('生命周期:beforeCreate')console.log(this)debugger},created() {console.log('生命周期:created')console.log(this)debugger},computed: {},methods: { say(){console.log("hello vue")}},filters: {},});</script>
</html>
  • 效果

在这里插入图片描述

beforeMount

在挂载开始之前被调用:相关的 render 函数首次被调用。这一步中,模板编译/挂载尚未开始
此时:

  1. 页面呈现的是 未经Vue编译 的DOM结构
  2. 所有对DOM的操作,最终 不生效

案例

  • 代码
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><title>生命周期</title><!--  引入Vue  --><script type="text/javascript" src="../js/vue.js"></script><style></style></head><body><div id="root"><h1>生命周期</h1><div><h2>插值语法:{{name}}</h2><h2>v-text</h2><span v-text="content"></span><h2>v-html</h2><span v-html="content"></span></div></div></body><script type="text/javascript">Vue.config.productionTip = false; // 阻止vue在启动是生成生产提示Vue.filter("globalStr", function (value) {console.log(" global filter splice time (时分秒)... ");return value.split(" ")[1];});const vm = new Vue({el: "#root",data: {name: "Vue 扛把子",content:'<button onclick="alert(1)">test</button>'},beforeCreate() {console.log('生命周期:beforeCreate')console.log(this)// debugger},created() {console.log('生命周期:created')console.log(this)// debugger},beforeMount() {console.log('生命周期:beforeMount')console.log(this)debugger},computed: {},methods: { say(){console.log("hello vue")}},filters: {},});</script>
</html>
  • 效果

在这里插入图片描述

mounted

el 被新创建的 vm.$el 替换,并挂载到实例上去之后调用该钩子。
此时:

  1. 页面呈现的是 经过Vue编译 的DOM结构
  2. 所有对DOM的操作,均生效,至此初始化过程结束;
  3. 一般此时进行:开启定时器、发送网络请求等初始化操作

案例

  • 代码
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><title>生命周期</title><!--  引入Vue  --><script type="text/javascript" src="../js/vue.js"></script><style></style></head><body><div id="root"><h1>生命周期</h1><div><h2>插值语法:{{name}}</h2><h2>v-text</h2><span v-text="content"></span><h2>v-html</h2><span v-html="content"></span></div></div></body><script type="text/javascript">Vue.config.productionTip = false; // 阻止vue在启动是生成生产提示Vue.filter("globalStr", function (value) {console.log(" global filter splice time (时分秒)... ");return value.split(" ")[1];});const vm = new Vue({el: "#root",data: {name: "Vue 扛把子",content:'<button onclick="alert(1)">test</button>'},beforeCreate() {console.log('生命周期:beforeCreate')console.log(this)// debugger},created() {console.log('生命周期:created')console.log(this)// debugger},beforeMount() {console.log('生命周期:beforeMount')console.log(this)// debugger},mounted() {console.log('生命周期:mounted')console.log(this)debugger},computed: {},methods: { say(){console.log("hello vue")}},filters: {},});</script>
</html>
  • 效果

在这里插入图片描述

beforeUpdate

数据更新时调用,发生在虚拟 DOM 打补丁之前。
此时:数据是新的,页面是旧的,还没重新渲染
(页面尚未和数据保持同步)

案例

  • 代码
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><title>生命周期</title><!--  引入Vue  --><script type="text/javascript" src="../js/vue.js"></script><style></style></head><body><div id="root"><h1>生命周期</h1><div><h2>v-text</h2><span v-text="content"></span><h2>v-html</h2><span v-html="content"></span><h2>插值语法:{{name}}</h2><button @click="changeName">改变名称</button></div></div></body><script type="text/javascript">Vue.config.productionTip = false; // 阻止vue在启动是生成生产提示Vue.filter("globalStr", function (value) {console.log(" global filter splice time (时分秒)... ");return value.split(" ")[1];});const vm = new Vue({el: "#root",data: {name: "Vue 扛把子",content: '<button onclick="alert(1)">test</button>',},beforeCreate() {console.log("生命周期:beforeCreate");console.log(this);// debugger},created() {console.log("生命周期:created");console.log(this);// debugger},beforeMount() {console.log("生命周期:beforeMount");console.log(this);// debugger},mounted() {console.log("生命周期:mounted");console.log(this);console.log("当前名称:" + this.name);// debugger},beforeUpdate() {console.log("生命周期:beforeUpdate");console.log(this.name);debugger;},computed: {},methods: {say() {console.log("hello vue");},changeName() {console.log("执行修改名称方法了...");this.name = this.name + "-" + Math.ceil(Math.random() * 10);console.log("修改名称为:" + this.name);},},filters: {},});</script>
</html>
  • 效果

在这里插入图片描述

updated

数据更新时调用,发生在重新渲染之后。
此时:数据是新的,页面是新的,已经重新渲染
(页面和数据保持同步)

案例

  • 代码
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><title>生命周期</title><!--  引入Vue  --><script type="text/javascript" src="../js/vue.js"></script><style></style></head><body><div id="root"><h1>生命周期</h1><div><h2>v-text</h2><span v-text="content"></span><h2>v-html</h2><span v-html="content"></span><h2>插值语法:{{name}}</h2><button @click="changeName">改变名称</button></div></div></body><script type="text/javascript">Vue.config.productionTip = false; // 阻止vue在启动是生成生产提示Vue.filter("globalStr", function (value) {console.log(" global filter splice time (时分秒)... ");return value.split(" ")[1];});const vm = new Vue({el: "#root",data: {name: "Vue 扛把子",content: '<button onclick="alert(1)">test</button>',},beforeCreate() {console.log("生命周期:beforeCreate");console.log(this);// debugger},created() {console.log("生命周期:created");console.log(this);// debugger},beforeMount() {console.log("生命周期:beforeMount");console.log(this);// debugger},mounted() {console.log("生命周期:mounted");console.log(this);console.log("当前名称:" + this.name);// debugger},beforeUpdate() {console.log("生命周期:beforeUpdate");console.log(this.name);// debugger;},updated() {console.log("生命周期:updated");console.log(this.name);debugger;},computed: {},methods: {say() {console.log("hello vue");},changeName() {console.log("执行修改名称方法了...");this.name = this.name + "-" + Math.ceil(Math.random() * 10);console.log("修改名称为:" + this.name);},},filters: {},});</script>
</html>
  • 效果
    在这里插入图片描述

beforeDestroy

实例销毁之前调用。
此时:vm种所有的东西均可用,即将执行销毁过程。
所有对数据的更新,均不回走更新流程了。
一般此时进行:关闭定时器、取消订阅消息等操作

案例

  • 代码
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><title>生命周期</title><!--  引入Vue  --><script type="text/javascript" src="../js/vue.js"></script><style></style></head><body><div id="root"><h1>生命周期</h1><div><h2>v-text</h2><span v-text="content"></span><h2>v-html</h2><span v-html="content"></span><h2>插值语法:{{name}}</h2><button @click="changeName">改变名称</button><h2>销毁</h2><button @click="destoyVm">销毁</button></div></div></body><script type="text/javascript">Vue.config.productionTip = false; // 阻止vue在启动是生成生产提示Vue.filter("globalStr", function (value) {console.log(" global filter splice time (时分秒)... ");return value.split(" ")[1];});const vm = new Vue({el: "#root",data: {name: "Vue 扛把子",content: '<button onclick="alert(1)">test</button>',},beforeCreate() {console.log("生命周期:beforeCreate");console.log(this);// debugger},created() {console.log("生命周期:created");console.log(this);// debugger},beforeMount() {console.log("生命周期:beforeMount");console.log(this);// debugger},mounted() {console.log("生命周期:mounted");console.log(this);console.log("当前名称:" + this.name);// debugger},beforeUpdate() {console.log("生命周期:beforeUpdate");console.log(this.name);// debugger;},updated() {console.log("生命周期:updated");console.log(this.name);// debugger;},beforeDestroy(){console.log("生命周期:beforeDestory");console.log(this.name);debugger;},// destroyed() {//   console.log("生命周期:destroyed");//   console.log(this.name);//   debugger;// },computed: {},methods: {say() {console.log("hello vue");},changeName() {console.log("执行修改名称方法了...");this.name = this.name + "-" + Math.ceil(Math.random() * 10);console.log("修改名称为:" + this.name);},destoyVm(){console.log("销毁vm方法了...");this.$destroy()}},filters: {},});</script>
</html>
  • 效果

在这里插入图片描述

destroyed

Vue 实例销毁后调用。调用后,Vue 实例指示的所有东西都会解绑,> 所有的事件监听器会被移除,所有的子实例也会被销毁。
此时: vm实例都没有了

案例

  • 代码
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><title>生命周期</title><!--  引入Vue  --><script type="text/javascript" src="../js/vue.js"></script><style></style></head><body><div id="root"><h1>生命周期</h1><div><h2>v-text</h2><span v-text="content"></span><h2>v-html</h2><span v-html="content"></span><h2>插值语法:{{name}}</h2><button @click="changeName">改变名称</button><h2>销毁</h2><button @click="destoyVm">销毁</button></div></div></body><script type="text/javascript">Vue.config.productionTip = false; // 阻止vue在启动是生成生产提示Vue.filter("globalStr", function (value) {console.log(" global filter splice time (时分秒)... ");return value.split(" ")[1];});const vm = new Vue({el: "#root",data: {name: "Vue 扛把子",content: '<button onclick="alert(1)">test</button>',},beforeCreate() {console.log("生命周期:beforeCreate");console.log(this);// debugger},created() {console.log("生命周期:created");console.log(this);// debugger},beforeMount() {console.log("生命周期:beforeMount");console.log(this);// debugger},mounted() {console.log("生命周期:mounted");console.log(this);console.log("当前名称:" + this.name);// debugger},beforeUpdate() {console.log("生命周期:beforeUpdate");console.log(this.name);// debugger;},updated() {console.log("生命周期:updated");console.log(this.name);// debugger;},beforeDestroy(){console.log("生命周期:beforeDestory");console.log(this.name);// debugger;},destroyed() {console.log("生命周期:destroyed");},computed: {},methods: {say() {console.log("hello vue");},changeName() {console.log("执行修改名称方法了...");this.name = this.name + "-" + Math.ceil(Math.random() * 10);console.log("修改名称为:" + this.name);},destoyVm(){console.log("销毁vm方法了...");this.$destroy()}},filters: {},});</script>
</html>
  • 效果

在这里插入图片描述

常用

  • mounted :初始化操作
    • 发送请求
    • 启动定时器
    • 绑定自定义事件
    • 订阅消息
  • beforeDestroy:收尾操作
    • 清除定时器
    • 解绑自定事件
    • 取消订阅
http://www.dtcms.com/wzjs/357466.html

相关文章:

  • 在线公司logo设计北京网络推广公司wyhseo
  • 购物网站的建设思维导图贵阳关键词优化平台
  • 临沂市住房和城乡建设委员会网站王通seo赚钱培训
  • 夜间正能量网站长沙网站推广 下拉通推广
  • 江门网站制作服务变现流量推广app
  • 青岛网站建设和推广百度登录首页
  • 手机网站cms系统手机怎么建自己的网站
  • 公司网站怎么免费建免费的个人网站html代码
  • 汉中网站制作在线数据分析工具
  • 庆阳市西峰区做网站培训机构加盟
  • 节日的网站怎么做怎样在平台上发布信息推广
  • 分析网站推广和优化的原因网站如何进行seo
  • 做网站如何下载别人网站图片nba球队排名
  • 广西建设职业学院技术教务系统网站怎么做网络广告
  • 网站推广软件预期效果网络营销软件
  • 顺德网站制作案例教程百度爱采购官网
  • 网站界面设计案例分析沈阳高端关键词优化
  • 网站建设一般多少钱怎么让关键词快速排名首页
  • 做淘宝必备的网站域名信息查询系统
  • 一般网站建设用什么样的代码seo三人行论坛
  • 什么网站做品牌特卖优化网址
  • 毕业设计网站做啥百度端口开户推广
  • 怎么找做网站的外包公司百度人工服务
  • discuz网站建设自助建站免费建站平台
  • 创建购物网站自助建站系统哪个好用
  • 网站搭建修改收费依据深圳网络推广渠道
  • 石家庄专业制作网站郑州网站关键词排名
  • 中国住房和建设委员会网站网站流量排行
  • nginx wordpress安全资源网站优化排名软件公司
  • 苏州建设银行网站搭建一个网站