首页 > 其他分享 >Vue-生命周期函数

Vue-生命周期函数

时间:2022-09-05 23:45:30浏览次数:67  
标签:生命 Vue console log 钩子 函数 周期函数 vm 请求

生命周期函数

相当于是一种特殊事件,当vm实例在整个运行的过程中,会在不同的时期去执行特定的函数,这样的函数就是vue的生命周期函数

beforeCreate created beforeMount mounted destory/x这些钩子都只执行一次

beforeUpdate updated第一次构建不会调用,以后每次data被更新了就会调用

beforeDestroy destroyed 销毁的方式有两种:用户关闭和代码

this.$destroy()//销毁vm实例

 

 

new Vue({
				el:"#app",
				data:{
					msg:"hello",
					url:"66666",
					count:0
				},
				methods:{
					des(){
						this.$destroy()
					},
					change1(){
						this.count++
						this.url="https://img1.baidu.com/it/u=1966616150,2146512490&fm=253&app=138&size=w931&n=0&f=JPEG&fmt=auto?sec=1662397200&t=873657ddc05e966309998f18814a9e54"
					}
				},
				filters:{},
				computed:{},
				watch:{},
				directives:{},
				
				//钩子函数: 生命周期函数  (c语言中有一类系统回调的函数然后执行业务 叫做钩子)
				//在某一种条件成立的时刻 系统会去调用的vue中设定的函数 这些函数都叫做:生命周期函数 
				//今天主要是学习vue中组件8个
				//当前vm实例在创建到销毁的过程中  会去调用的函数:
				beforeCreate(){
					//能否网络请求?
					//能做网络请求,因为这是函数在运行时XMLHttpRequest是可以访问并且去做AJAX请求的
					
					//能否网络请求数据 然后设置到数据源中?
					//不能设置到数据源中,因为这个钩子中 this还在创建
										
					//这个在项目中干什么?
					//只要不是用于页面渲染
					//预加载图片: 网页中同源加载的优化(同一个页面中img script等等 src属性去请求资源)
					new Image().src="https://img1.baidu.com/it/u=1966616150,2146512490&fm=253&app=138&size=w931&n=0&f=JPEG&fmt=auto?sec=1662397200&t=873657ddc05e966309998f18814a9e54"
					//预加载工具
					//第三方工具的加载
					
					//这个函数在运行时 vm正在创建中:劫持data,methods 也就是 this对象中还不能访问到数据
					console.log("beforeCreate",this.msg,this.change1,this)										
				},
				created(){
					//能否网络请求?
					//能做网络请求,因为这是函数在运行时XMLHttpRequest是可以访问并且去做AJAX请求的
					//能否网络请求数据 然后设置到数据源中?
					//可以设置到数据源中,因为这个钩子中 this已经创建完毕了
					//这个在项目中干什么?
					//请求首屏数据
					
					//vm对象已经创建完毕了,但是它(vm)还没有挂载到DOM树中
					//这个函数可以操作this对象了  但是无法操作DOM
					console.log("created",this.msg,this.change1)					
				},
				beforeMount(){
					//渲染前的操作
					//vm对象已经创建完毕了,在挂载之前触发的钩子
					//这个函数可以操作this对象了  但是无法操作DOM
					console.log("beforeMount")
				},
				mounted(){
					//vm已经挂载到页面了
					//请求首屏数据,请求时页面已经出来了					
					console.log("mounted")
				},
				beforeUpdate(){
					//这两个钩子中 不能网络请求新数据 去更新数据源
					//会导致死循环
					
					//数据源已经更新了,页面重新渲染前(并不是数据更新前) 触发的钩子
					console.log("beforeUpdate",this.url)
				},
				updated(){
					//页面已经重新渲染了触发的钩子
					console.log("updated")
				},
				
				beforeDestroy(){
					
					//vm对象销毁之前触发的钩子,this还在  可以做最后的操作
					//保存用户的行为配置文件:播放器的进度 等等
					console.log("beforeDestroy",this.msg)
				},
				destroyed(){
					//后面在webpack环境下操作 无法操作this
					//往往把当前组件中计时器清除了  可以把body的滚动条滚到顶部
					console.log("destroyed",this.msg)
				}				
			})

  

标签:生命,Vue,console,log,钩子,函数,周期函数,vm,请求
From: https://www.cnblogs.com/forever-ljf/p/16660105.html

相关文章

  • Vue-过滤器
    过滤器filter主要用于数据展示之前的处理 过滤器只能用在v-bind或者插值表达式中<body> <divid="app"> <h2>{{data1}}</h2> <inputv-model="data2"......
  • Vue-计算属性
    计算属性把computed中的方法当做属性使用,会返回一个数据供使用<divid="app"> <p>{{msg}}</p> <p>方法获取的年龄:{{getAge()}}</p> <p>计算属性获取的年......
  • vue3+ts 为原型上添加属性声明
    背景比如在vue2的情况下我们有的时候需要为Vue的原型对象上添加属性或方法,vue3的情况下需要为app挂载全局属性配置,但是结合了ts后,在vue文件中会报警告,但是程序可以正常被......
  • Vue-双向数据绑定
    双向数据绑定的源代码<body> <divid="app"> <p>{{data1}}</p> <inputname=""id="":value="data1"@input="fn"> </div> </body> <script> newVue({ ......
  • Vue(2)函数初识,与computed的使用
    序在实例vue对象时候,可以选择使用computed来完成计算,mvvm是mode,view,viewmode实现数据的双向绑定,这也体现其的便捷性。示例代码点击查看代码<divid="app"> <inpu......
  • 面试突击80:说一下 Spring 中 Bean 的生命周期?
    Java中的公共类称之为Bean或JavaBean,而Spring中的Bean指的是将对象的生命周期,交个SpringIoC容器来管理的对象。所以Spring中的Bean对象在使用时,无需通过n......
  • 前端js vue的语音播报
    目前h5新增一个文字转语音的功能(但是正在完善中,勉强能用),h5新增的SpeechSynthesisUtterance实例首先new一个SpeechSynthesisUtterance对象使用实例对象的一些属性,包括......
  • vue 通过URL直接下载PDF文件而不是预览
    项目需求:用户在点击下载时下载文件。该项目为前后端分离项目,download不起作用。我在做这个功能点时使用的方法是直接window.location.href=url可在测试时却发现word等......
  • vue3之composition-api的使用(包含watch watchEffect)
    是什么composition-api官方介绍vue2:options-api,组件按照选项组织,就是将组件各个部分严格写在methods、computed、watch、data等等里面(特定的区域写特定的代码);vue3:co......
  • IOS系统vue2, 点击返回上一页,页面空白无报错
    最近移了个项目,把页面所有的东西都移过来了,但是出现了这个问题,就是ios系统,咨询列表正常,详情页也没问题,返回上一页之后页面空白,接口请求了,也没报错,用的是gohistory(-1)的返......