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

深圳建网站兴田德润专业齐三seo

深圳建网站兴田德润专业,齐三seo,物理结构网站,中铁建设集团用户登录目录 一、引出生命周期 二、生命周期_挂载流程 三、生命周期_更新流程 四、生命周期_销毁流程 五、生命周期_总结 一、引出生命周期 生命周期: 1.又名:生命周期回调函数、生命周期函数、生命周期钩子。 2.是什么:Vue在关键时刻帮我们调…

目录

一、引出生命周期

二、生命周期_挂载流程

三、生命周期_更新流程

四、生命周期_销毁流程

五、生命周期_总结

一、引出生命周期

生命周期:

    1.又名:生命周期回调函数、生命周期函数、生命周期钩子。

    2.是什么:Vue在关键时刻帮我们调用的一些特殊名称的函数

    3.生命周期函数的名字不可更改,但函数的具体内容是程序员根据需求编写的。

    4.生命周期函数中的this 指向vm组件实例对象

Vue完成模板的解析并把初始的真实的DOM元素放入页面后(挂载完毕)调用mounted

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><title>document</title><script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>	
</head>
<body>	<div id="root"><h2 v-if="a">你好啊</h2><!-- {opacity}为{opacity: opacity}的简写形式,第一个opacity为属性,第二个为属性值 --><h2 :style="{opacity}">欢迎学习Vue</h2><!-- {{change()}} --></div><script type="text/javascript">	Vue.config.productionTip = falseconst vm = new Vue({el:'#root',data:{opacity:1,a:false,},methods:{/* change(){setInterval(()=>{this.opacity -= 0.01if(this.opacity <= 0) this.opacity = 1},16)}, */},// Vue完成模板的解析并把初始的真实的DOM元素放入页面后(挂载完毕)调用mountedmounted() {console.log('mounted',this);//此处的this是vue实例setInterval(()=>{vm.opacity -= 0.01if(vm.opacity <= 0) vm.opacity = 1},16)},			})// 通过外部的定时器实现(不推荐)/* setInterval(()=>{vm.opacity -= 0.01if(vm.opacity <= 0) vm.opacity = 1},16) */</script>
</body>
</html>

二、生命周期_挂载流程

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="./js/vue.js"></script></head>
<body><!-- 准备好一个容器 --><div id="root"><h2 v-if="false">你好啊</h2><h2 :style="{opacity}">欢迎学习 Vue</h2><h2>当前的n值是:{{n}}</h2><button @click="add">点我 n+1</button></div><script type="text/javascript">const vm = new Vue({el: '#root',// template: ` //     <div>//         <h2>当前的n值是:{{n}}</h2>//         <button @click="add">点我 n+1</button>//     </div>// `,data: {opacity:1,n: 1},methods: {add(){this.n++}},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   /* setInterval(() => {this.opacity -= 0.01if (this.opacity < 0) {this.opacity = 1}}, 16) */}})    </script>
</body>
</html>

三、生命周期_更新流程

在哪个生命周期 钩子中页面与数据尚未不同步: beforeUpdate

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="./js/vue.js"></script></head>
<body><!-- 准备好一个容器 --><div id="root"><h2 v-if="false">你好啊</h2><h2 :style="{opacity}">欢迎学习 Vue</h2><h2>当前的n值是:{{n}}</h2><button @click="add">点我 n+1</button></div><script type="text/javascript">const vm = new Vue({el: '#root',// template: ` //     <div>//         <h2>当前的n值是:{{n}}</h2>//         <button @click="add">点我 n+1</button>//     </div>// `,data: {opacity:1,n: 1},methods: {add(){this.n++}},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',this.$el,this.$el instanceof HTMLElement)// console.log(this);// debugger   /* setInterval(() => {this.opacity -= 0.01if (this.opacity < 0) {this.opacity = 1}}, 16) */},beforeUpdate() {console.log('beforeUpdate')// console.log(this.n);  //点击按钮 此时已变成 2// debugger},updated() {console.log('updated')debugger},})    </script>
</body>
</html>

四、生命周期_销毁流程

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="./js/vue.js"></script></head>
<body><!-- 准备好一个容器 --><div id="root"><h2 v-if="false">你好啊</h2><h2 :style="{opacity}">欢迎学习 Vue</h2><h2>当前的n值是:{{n}}</h2><button @click="add">点我 n+1</button><button @click="bye">点我销毁vm</button></div><script type="text/javascript">const vm = new Vue({el: '#root',// template: ` //     <div>//         <h2>当前的n值是:{{n}}</h2>//         <button @click="add">点我 n+1</button>//     </div>// `,data: {opacity:1,n: 1},methods: {add(){console.log('add');this.n++},bye(){console.log('bye');this.$destroy()}},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',this.$el,this.$el instanceof HTMLElement)// console.log(this);// debugger   /* setInterval(() => {this.opacity -= 0.01if (this.opacity < 0) {this.opacity = 1}}, 16) */},beforeUpdate() {console.log('beforeUpdate')// console.log(this.n);  //点击按钮 此时已变成 2// debugger},updated() {console.log('updated')// debugger},beforeDestroy() {console.log('beforeDestroy')console.log(this.n)this.add()  //仍可使用 add,但对数据触发的操作不再更新,所以页面中 的n不会改变},destroyed() {console.log('destroyed')},})         </script>
</body>
</html>

五、生命周期_总结

上面一共讲了8 个生命周期,也就是4 对生命周期

beforeCreate 与 created  指数据检测与数据代理创建之前和之后

beforeMount 与 Mounted  

beforeUpdate 与 updated

beforeDestroy 与 destroy 

常用的生命周期钩子:
     1.mounted: 发送ajax请求、启动定时器、绑定自定义事件、订阅消息等【初始化操作】。
     2.beforeDestroy: 清除定时器、解绑自定义事件、取消订阅消息等【收尾工作】。

 关于销毁Vue实例
     1.  销毁后借助Vue开发者工具看不到任何信息。
     2.  销毁后自定义事件会失效,但原生DOM事件依然有效。

     3.  一般不会在beforeDestroy 操作数据,因为即便操作数据,也不会再触发更新流程了。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="./js/vue.js"></script></head>
<body><!-- 准备好一个容器 --><div id="root"><!-- 需求:点击按钮停止变换 --><h2 :style="{opacity}">欢迎学习 Vue</h2><button @click="opacity = 1">透明度设置为1</button><button @click="stop">停止变换</button></div><script type="text/javascript">const vm = new Vue({el: '#root',data: {opacity:1,},methods: {stop(){this.$destroy()}},mounted(){  this.timer = setInterval(() => {this.opacity -= 0.01console.log('定时器');if (this.opacity < 0) {this.opacity = 1}}, 16)},beforeDestroy() {console.log();clearInterval(this.timer)},           })         </script>
</body>
</html>

http://www.yayakq.cn/news/841838/

相关文章:

  • jcms网站建设濮阳信息网发布信息
  • 网站建设规划方书模板台州企业网站
  • 网站建设用素材从优化角度来建设网站
  • 公司网站建设维护合同范本公司网站建设好
  • 网站建设买了服务器后怎么做小网站广告投放
  • 推广网络营销外包公司seo软文代写
  • 青岛专业网站建设推广报价seo薪资
  • 外贸网站建设电话广州优化网站
  • 三维家是在网站上做还是在app上工作顺利的祝福语
  • 怎么生成网站源代码做puzzle的网站
  • 江苏网站建设多少钱网站开发后端开发
  • 网站开发进入腾信职位wordpress获取登录密码错误
  • 贸易网站怎么做wordpress 附件 标签
  • vps做网站的环境徐州网站优化推广
  • 专业建设家电维修网站公司外贸手机网站模板
  • 网站开发的英文美团做团购网站
  • 卖机器的网站怎么做常用的电子商务网站
  • 如何注销网站0元建站平台
  • 有了网站 怎么做排名优化甘肃系统建站怎么用
  • 做网站还需要续费php做网站中下一步按钮
  • 建立网站信息内容建设管理规范做图字体网站
  • 静安广州网站建设网站建化
  • 物流好的网站模板网站浏览器
  • 上海外贸网站设计网站首页适合vue做吗
  • 建设物业公司网站创建网站视频
  • 服装销售网站建设策划书网站浏览器图标怎么做
  • 网站里面的导航图标怎么做的怎么做网站的外部连接
  • android网站开发实例域名连接到网站吗
  • 财税公司网站开发镇江建设集团网站
  • 网站这么推广做电影网站量刑标准