9.生命周期函数

生命周期函数,也叫生命周期钩子,是指组件挂载以及组件销毁所触发的一系列的方法。

 在components目录下新建Life.vue组件,用于演示生命周期函数

<template>
    <div>
        <h2>{{msg}}</h2>
        
    </div>
</template>
<script>
export default {
  name: 'life',  
  data () {
    return {
        msg:'生命周期函数演示'
    }
  },
  methods:{},
  beforeCreate(){
      console.log('实例创建之前')
  },
  created(){
      console.log('实例创建完成(常用,用于从后台获取数据后。)')
  },
  beforeMount(){
      console.log('模板编译之前')
  },
  mounted(){
      console.log('模板编译完成')
  },
  beforeUpdate(){
      console.log('数据更新之前')
  },
  updated(){
      console.log('数据更新完毕')
  },
  beforeDestroy(){
      console.log('实例销毁之前')
  },
  destroyed(){
      console.log('实例销毁完成')
  }
  
}
</script>
<style lang="scss" scoped>
h2{
    color: green;
}
</style>

在Home.vue组件内引用

<template>
    <div>
        <h2>这是一个首页组件</h2>
        <button @click="run">弹出首页组件提示</button>
        <v-life v-if="flag"></v-life>
        <br>
        <button @click="gua()">挂载卸载实例组件</button>
    </div>
</template>
<script>
import Life from './Life.vue';
export default {
  name: 'home',  
  data () {
    return {
        msg:'首页组件',
        flag:true
    }
  },
  methods:{
    run(){
        alert(this.msg)
    },
    gua(){
      this.flag=!this.flag
    }
  },
  components:{
    'v-life':Life
  }

}
</script>
<style lang="scss" scoped>
h2{
    color: red;
}
</style>

 

转载于:https://www.cnblogs.com/xuepangzi/p/11616600.html

### Cocos 脚本 生命周期 函数 执行顺序 在Cocos引擎中,脚本的生命周期函数定义了一个组件从创建到销毁期间的关键时刻点。对于每一个附加到场景节点上的组件而言,其生命周期函数按照特定的顺序被自动调用。 当一个新场景加载完成之后,所有处于激活状态下的节点所携带的组件会依次经历`onLoad`阶段,在这里可以进行资源预加载和其他必要的初始化工作[^3]。紧随其后的便是`onEnable`回调,只要该节点变为可见或启用状态就会触发此事件;紧接着是`start`方法仅被执行一次,并且是在第一次帧更新之前发生,适合用来放置那些依赖于其他对象已经准备就绪的操作逻辑[^1]。 随着游戏运行过程中每一帧的到来,`update`会被频繁地唤起用于处理实时变化的数据更新任务,而`lateUpdate`则总是位于同一帧内的最后位置执行,常应用于摄像机跟随等需要基于当前帧全部变更后的情况来进行调整的任务之中。一旦某个节点不再显示或者禁用了,则对应的组件将会收到`onDisable`的通知;直至整个实体被彻底移除之时才会进入到最后一步——`onDestroy`,标志着这个实例正式结束了自己的使命并释放掉占用的所有资源[^2]。 值得注意的是,如果在一个新的节点上通过`.getComponent().method()`的方式立即调用自定义的方法,那么这些操作实际上发生在目标组件的标准生命周期流程之外,即它们会在正常的启动过程(如`onLoad`, `start`)之前先行完成。 ```javascript cc.Class({ extends: cc.Component, onLoad () { console.log(&#39;onLoad&#39;); }, onEnable() { console.log(&#39;onEnable&#39;); }, start () { console.log(&#39;start&#39;); }, update (dt) { // 每一帧都会调用 }, lateUpdate(dt){ console.log(&#39;lateUpdate&#39;); }, onDisable(){ console.log(&#39;onDisable&#39;); }, onDestroy(){ console.log(&#39;onDestroy&#39;); } }); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值