vue2生命周期和计算属性

vue2的生命周期

删除一些没用的

App.vue

删成这个样子就行

<template>

    <router-view/>

</template>

<style lang="scss">

</style>

来到路由把没用的删除

import Vue from 'vue'
import VueRouter from 'vue-router'
import HomeView from '../views/HomeView.vue'

Vue.use(VueRouter)

const routes = [
  {
    path: '/',
    name: 'home',
    component: HomeView
  },
  
]

const router = new VueRouter({
  routes
})

export default router

有报错没关系那是因为你引入的文件已经删除了

新建一个命名为生命周期的文件夹

然后在下面新建一个index.vue(规范都用index)

像设置打出vue2的快捷代码请看

[VUE框架学习笔记]VsCode快速生成vue组件模板(详细图示!)_vscode自动生成vue模板-CSDN博客

index.vue

<template>
  <div class="">
    
  </div>
</template>

<script>
export default {
  name: ''
}
</script>

<style lang="less" scoped>

</style>

scoped单独样式

更改对应的路由

Vue 中,生命周期是指组件从创建到销毁的全过程,Vue 提供了一系列钩子函数,允许开发者在特定阶段插入自定义逻辑。Vue 2 Vue 3 在生命周期钩子的设计使用上存在显著差异,尤其是在 Vue 3 中引入了组合式 API(Composition API) `setup()` 函数的概念。 ### Vue 2 生命周期钩子 Vue 2生命周期钩子采用选项式 API(Options API),钩子函数直接作为组件选项定义。完整的生命周期流程如下: - `beforeCreate`:组件实例初始化之后,数据观测事件配置尚未完成。 - `created`:组件实例已经创建完成,数据观测、计算属性、方法事件回调已配置完成,但 DOM 还未挂载。 - `beforeMount`:模板编译/渲染之前,此时 $el 属性尚未被创建。 - `mounted`:DOM 已经渲染完成,可以进行 DOM 操作或第三方库的绑定。 - `beforeUpdate`:响应式数据更新时调用,发生在虚拟 DOM 重新渲染之前。 - `updated`:虚拟 DOM 重新渲染更新后调用。 - `beforeDestroy`:组件销毁之前,此时仍可访问所有组件数据。 - `destroyed`:组件销毁后,所有事件监听器子组件也被移除[^3]。 ### Vue 3 生命周期钩子 Vue 3 在保留部分 Vue 2 生命周期钩子的基础上,引入了组合式 API `setup()` 函数,生命周期钩子的命名使用方式也发生了变化。Vue 3 的生命周期钩子分为两类:**选项式 API** **组合式 API**。 #### 选项式 API(Options API) Vue 3 的选项式 API 生命周期钩子与 Vue 2 类似,但部分钩子名称有所更改: - `beforeCreate`:行为与 Vue 2 相同。 - `created`:行为与 Vue 2 相同。 - `beforeMount`:行为与 Vue 2 相同。 - `mounted`:行为与 Vue 2 相同。 - `beforeUpdate`:行为与 Vue 2 相同。 - `updated`:行为与 Vue 2 相同。 - `beforeUnmount`:对应 Vue 2 的 `beforeDestroy`,在组件卸载之前调用。 - `unmounted`:对应 Vue 2 的 `destroyed`,在组件卸载之后调用[^1]。 #### 组合式 API(Composition API) 在 Vue 3 的组合式 API 中,生命周期钩子需要通过 `onBeforeMount`、`onMounted` 等函数从 `vue` 模块中导入,并在 `setup()` 函数中调用。例如: ```javascript import { onMounted, onBeforeUnmount } from 'vue'; export default { setup() { onMounted(() => { console.log('Component is mounted'); }); onBeforeUnmount(() => { console.log('Component is about to be unmounted'); }); } }; ``` 组合式 API 提供了更灵活的代码组织方式,使得生命周期逻辑可以与相关功能模块化组合,提升可维护性复用性。 ### 生命周期顺序对比 在父子组件嵌套的情况下,Vue 2 Vue 3 的生命周期执行顺序有所不同: - **Vue 2**: - 父组件 `beforeCreate` → `created` → `beforeMount` - 子组件 `beforeCreate` → `created` → `beforeMount` → `mounted` - 父组件 `mounted` - **Vue 3**: - 父组件 `beforeCreate` → `created` → `beforeMount` - 子组件 `beforeCreate` → `created` → `beforeMount` → `onBeforeMount`(组合式)→ `mounted` → `onMounted`(组合式) - 父组件 `onBeforeMount`(组合式)→ `mounted` → `onMounted`(组合式)[^1] ### 总结 Vue 3 在生命周期钩子的设计上提供了更大的灵活性,特别是在组合式 API 中,开发者可以更自由地组织复用生命周期逻辑。同时,Vue 3 的生命周期钩子命名更加语义化(如 `beforeUnmount` `unmounted`),增强了代码的可读性可维护性。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值