IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> vue3.0项目实战系列文章 - 使用周期函数 -> 正文阅读

[JavaScript知识库]vue3.0项目实战系列文章 - 使用周期函数

系列文章目录

第一章?

论vue3.0和vue2.0区别之编程方式及例子详解

第二章

同一台电脑 实现 vue-cli2和vue-cli3同时并存 及 常见命令

第三章

vue3.0项目实战 - ElementUI框架版

第四章

【TypeScript】在vue3中遇到的问题及解决方案,未完待续

第五章

vue3.0项目实战系列文章 - 登录页面

第六章

vue3.0项目实战系列文章 - 使用周期函数


目录

系列文章目录

前言

一、新的调试钩子函数

二、使用周期函数


前言

从Vue2转换到Vue3

这个方便的Vue2到Vue3的生命周期映射直接来自于Vue3 Composition API 文档,我认为这是一种最有用的方式来查看事情将如何变化,以及我们如何使用它们。

  • beforeCreate -> use setup()
  • created -> use setup()
  • beforeMount -> onBeforeMount
  • mounted -> onMounted
  • beforeUpdate -> onBeforeUpdate
  • updated -> onUpdated
  • beforeDestroy -> onBeforeUnmount
  • destroyed -> onUnmounted
  • errorCaptured -> onErrorCaptured

一、新的调试钩子函数

  • onRenderTracked
  • onRenderTriggered

这两个事件都带有一个DebuggerEvent,它使我们能够知道是什么导致了Vue实例中的重新渲染。

export default {
  onRenderTriggered(e) {
    debugger
    // 检查哪个依赖项导致组件重新呈现
  }
}

二、使用周期函数

注意

使用

1.与Vue3中的大多数功能一样,生命周期钩子是我们必须导入到项目中的东西,这是为了帮助使项目尽可能轻巧。

2.路由跳转

template中:

?<router-link to="/">

? ? <el-button type="primary" size="large">返回首页</el-button>

</router-link>

3.toRefs转换为响应式数据:如下代码

简写导出对象

完整代码

<template>
    <div class="error-page">
        <div class="error-handle">
            <router-link to="/">
                <el-button type="primary" size="large">返回首页</el-button>
            </router-link>
            <el-button class="error-btn" type="primary" size="large" @click="goBack">返回上一页</el-button>
            <p>{{id}}--{{name}}--{{num}}</p>
            <el-button type="primary" @click="change1">点击</el-button>
        </div>
    </div>
</template>

<script>
    import {
        useRouter
    } from "vue-router";
    import {
        reactive,
        toRefs,
        computed,
        onBeforeMount,
        onMounted,
        onBeforeUpdate,
        onUpdated,
        onBeforeUnmount,
        onUnmounted,
        onActivated,
        onDeactivated,
        onErrorCaptured
    } from 'vue';
    export default {
        name: "403",
        setup() {
            // reactive 数据双向绑定
            const data = reactive({
                id: 1,
                name: '名称',
                num: computed(() => data.id += 5) //计算属性
            });
            const router = useRouter();
            const goBack = () => {
                router.go(-1);
            };
            // 方法
            const methods = {
                change1() {
                    alert("点击")
                },
            };
            // 在组件内容被渲染到页面之前自动执行的函数
            onBeforeMount(() => {
                //alert("onBeforeMount")
            });
            // 在组件内容被渲染到页面之后自动执行的函数
            onMounted(() => { // 绑定后自动执行
                //alert("onMounted")
            });
            // 当data中的数据发生变化前执行
            onBeforeUpdate(() => {
                //alert("onBeforeUpdate");
            });
            // 当data中的数据发生变化后执行
            onUpdated(() => {
                //alert("onUpdated");
            });
            // 解除绑定前执行的函数
            onBeforeUnmount(() => {
                //alert("onBeforeUnmount");
            });
            // 解除绑定后执行的函数
            onUnmounted(() => {
                //alert("onUnmounted");
            });
            onActivated(() => {
                // ... 
            })
            onDeactivated(() => {
                // ... 
            })
            onErrorCaptured(() => {
                // ... 
            })
            return {
                // toRefs转换为响应式数据
                ...toRefs(data),
                ...methods,
                goBack,
            };
        }
    };
</script>


<style scoped>
   
</style>

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-08-06 10:34:49  更:2022-08-06 10:37:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/11 12:32:24-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码