vue3+vite搭建项目(五)

接着上一节更新的内容,这一章主要讲讲vue3的生命周期

先复习一下vue2的生命周期

beforeCreate():实例在内存中被创建出来,还没有初始化好data和methods属性。

create():实例已经在内存中创建,已经初始化好data和method,此时还没有开始编译模板。

beforeMount():已经完成了模板的编译,还没有挂载到页面中。

mounted():将编译好的模板挂载到页面指定的容器中显示。

beforeUpdate():状态更新之前执行函数,此时data中的状态值是最新的,但是界面上显示的数据还是旧的,因为还没有开始重新渲染DOM节点。

updated():此时data中的状态值和界面上显示的数据都已经完成了跟新,界面已经被重新渲染好了!

beforeDestroy():实例被销毁之前。

destroyed():实例销毁后调用,Vue实例指示的所有东西都会解绑,所有的事件监听器都会被移除,所有的子实例也都会被销毁。组件已经被完全销毁,此时组建中所有data、methods、以及过滤器,指令等,都已经不可用了。

还有个比较特殊的钩子函数nextTick(),数据更新后的dom操作,写在该函数里面

vue3的生命周期

Vue2--------------vue3
beforeCreate  -> setup()
created       -> setup()
beforeMount   -> onBeforeMount
mounted       -> onMounted
beforeUpdate  -> onBeforeUpdate
updated       -> onUpdated
beforeDestroy -> onBeforeUnmount
destroyed     -> onUnmounted
activated     -> onActivated
deactivated   -> onDeactivated
errorCaptured -> onErrorCaptured

实际使用

//view/home.vue
<script setup>
import Child from "@/components/Child.vue";
import { ref } from "vue";
const isShow = ref(true);
</script>

<template>
  欢迎来到首页
  <hr />
  <h2>父级组件</h2>
  <button @click="isShow = !isShow">切换显示</button>
  <hr />
  <child v-if="isShow" />
  <router-link to="/user">去个人中心</router-link>
</template>

<style></style>


//components/Child.vue
<script setup>
import {
  ref,
  onBeforeMount,
  onMounted,
  onBeforeUpdate,
  onUpdated,
  onBeforeUnmount,
  onUnmounted,
} from "vue";

const msg = ref("abc");
// 按钮点击事件的回调
const update = () => {
  msg.value += "!";
};
console.log("3.x 中的 setup");

onBeforeMount(() => {
  console.log("3.x 中的 onBeforeMount");
});
onMounted(() => {
  console.log("3.x 中的 onMounted");
});
onBeforeUpdate(() => {
  console.log("3.x 中的 onBeforeUpdate");
});
onUpdated(() => {
  console.log("3.x 中的 onUpdated");
});
onBeforeUnmount(() => {
  console.log("3.x 中的 onBeforeUnmount");
});
onUnmounted(() => {
  console.log("3.x 中的 onUnmounted");
});
</script>

<template>
  <div>子级组件</div>
  <h4>msg:{{ msg }}</h4>
  <button @click="update">更新数据</button>
  <hr />
</template>

<style></style>

初始页面

切换显示

更新数据

完结

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
搭建一个vue3 vite项目,可以按照以下步骤进行操作: 1. 使用脚手架工具创建项目,确保脚手架工具的版本是4及以上。可以使用以下命令创建一个项目名称为vue3-wjw的项目: ```bash create-vite-app vue3-wjw ``` 2. 另一种方法是使用vite创建项目vite是一种基于ES模块原生支持的构建工具,它具有快速、简单和开箱即用的特点。使用vite创建项目的好处是它的启动速度非常快。可以使用以下命令创建一个Vue3项目: ```bash npm init vite@latest vue3-wjw -- --template vue ``` 以上步骤可以根据个人需求选择其中一种方式来搭建vue3 vite项目。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Vue3 + Vite 实现项目搭建](https://blog.csdn.net/weixin_42776111/article/details/125573721)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [vue3+vite+qiankun+monorepo框架](https://download.csdn.net/download/qq_38862234/86293271)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值