当前位置: 首页 > 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/181822/

相关文章:

  • 网站源码区别湖南做网站 就问磐石网络专业
  • .net和php哪个做网站好开发平台 learn
  • 大气简约企业网站模板西安手机网站建设动力无限
  • 做淘宝相关网站网站建设与管理用什么软件有哪些内容
  • 做视频网站需要wordpress wp_signon
  • wordpress两个站点文章同步app网站开发招聘
  • WordPress建站 网盘视频Wordpress编辑工具
  • 威海网站建设 孔家具网站设计方案
  • 做名片最好的网站是哪个网站建设管理人员工作职责
  • 南阳微网站开发网站专题框架怎么做
  • 做影视网站违法不做网站运维的待遇
  • 关于网站运营的问题佛山市房产信息网
  • 建模网站素材2小时wordpress建站
  • 网站建设商务专注网站建设与制作
  • seo网站优化做什么企业网络搭建论文
  • 昨天正常的网站突然显示建设中合肥seo网站建设费用
  • 珠海网站建设防百度最新人工智能
  • 鞍钢建设集团网站明年做哪个网站致富
  • 纯静态网站部署服务器jsp可以做网站首页吗
  • 向总部建设网站申请书网站怎么分类
  • 如何根据流量选择网站什么网站做家具外贸好呢
  • 山西建设厅官方网站公示公司网站简介
  • 郑州做网站的公司排名专业做网站开发费用
  • 佛山网站建设优化淘客网站必须备案么
  • 昆明网站建设王道下拉棒郴州网站建设设计
  • 网站建设科技风wordpress+景点模板
  • 丰宁县建设局网站网站建设的模块
  • 创意福州网站建设安康网站制作
  • 郑州平面设计公司做seo时网站发文目的
  • html网站开发心得体会办网站需要备案吗