556、Vue 3 学习笔记 -【常用Composition API(五)】 2023.08.25

这篇具有很好参考价值的文章主要介绍了556、Vue 3 学习笔记 -【常用Composition API(五)】 2023.08.25。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、生命周期

Vue3中可以继续使用Vue2中的生命周期钩子,但有两个被更名:

  • beforeDestroy改名为beforeUnmount
  • destroy改名为unmounted

Vue3也提供了组合式API形式的生命周期钩子,与Vue2中钩子对应关系如下:

  • beforeCreate ===> setup()
  • created ===> setup()
  • beforeMount ===> onBeforeMount
  • mounted ===> onMounted
  • beforeUpdate ===> onBeforeUpdate
  • updated ===> onUpdated
  • beforeUnmount ===> onBeforeUnmount
  • unmounted ===> onUnmounted
 import {ref, onBeforeMount, onMounted, onBeforeUpdate, onUpdated, onBeforeUnmount, onUnmounted} from 'vue'
    
    setup(){
        let sum = ref(20)
        // 通过组合式API的形式去使用生命周期钩子
        onBeforeMount(()=>{
            console.log('---onBeforeMount---')
        })
        
        onMounted(()=>{
            console.log('---onMounted---')
        })
        
        onBeforeUpdate(()=>{
            console.log('---onBeforeUpdate---')
        })
        …………        
    }

二、自定义hook函数

  • 什么是hook? —— 本质是一个函数,把setup函数中使用的Composition API进行了封装。
  • 类似于vue2.x中mixin。
  • 自定义hook的优势:复用代码,让setup中的逻辑更清楚易懂。

创建一个js文件,比如usePoint.js ,内容:

import {reactive, onMounted, onBeforeUnmount} from 'vue'
    export default function(){
        let point = reactive({
            x:0,
            y:0
        })
        // 获取鼠标点击坐标
        function savePoint(event){
            point.x = event.pageX
            point.y = event.pageY
        }
        onMounted(()=>{
            window.addEventListener('click', savePoint)    
        })        
        onBeforeUnmount(()=>{
            window.removeEventListener('click', savePoint)
        })          
        return point
    }

在vue文件中引入userPoint.js

   <p>鼠标点击坐标 x:{{point.x}}  y:{{point.y}}<p>
    
    import usePoint from '/hook/usePoint.js' 
    
    setup(){
        let point = usePoint()
        
        return { point }
    }

三、toRef

  • 作用:创建一个ref对象,其value值指向另一个对象中的某个属性。
  • 语法:const name = toRef(person, ‘name’)
return {
        name: toRef(person,'name')
        salary: toRef(person.job.j1, 'salary')
    }
  • 应用:要将响应式对象中的某个属性单独提供给外部使用时。
  • 扩展:toRefs 与 toRef 功能一致,但可以批量创建多个ref对象,语法:toRefs(person)
 // person中的salary属性用法
    <p> {{ job.j1.salary }} </p>
    return {
        // 把person属性都拆开
        ...toRefs(person)
    }

四、参考链接

[01] Vue3学习笔记(尚硅谷) 文章来源地址https://www.toymoban.com/news/detail-673305.html

到了这里,关于556、Vue 3 学习笔记 -【常用Composition API(五)】 2023.08.25的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 【自学笔记】01Java基础-08Java常用API:05正则表达式与Lambda表达式

    【自学笔记】01Java基础-08Java常用API:05正则表达式与Lambda表达式

    记录Java基础-常用API-正则表达式与Lambda表达式的内容。 正则表达式在线练习网站 正则表达式是一种强大的文本处理工具,它使用特殊的字符和模式来匹配、查找、替换或提取字符串中的特定内容。 在Java中,正则表达式的功能主要通过 java.util.regex 包中的 Pattern 和 Matcher 类实

    2024年01月19日
    浏览(28)
  • vue/composition-api 的使用

    最近我们项目是 vue2,但是要使用 jsx + composition ,所以来学习一下这个 vue/composition-api (一)安装 (二)注册 在 main.ts 中 (三)使用 最基本的组件: defineComponent 本身的功能很简单,但是最主要的功能是为了 ts 下的类型推导~ 1. setup 函数 setup 在 create 实例在初始化之前调

    2024年02月05日
    浏览(14)
  • 【vue3】11-Vue 3中的Composition Api(一)

    【vue3】11-Vue 3中的Composition Api(一)

    在Vue2中,我们编写组件的方式是Options APl: Options API的一大特点就是在 对应的属性 中编写 对应的功能模块 ; 比如 data定义数据 、 methods中定义方法 、 computed中定义计算属性 、 watch中监听属性改变 ,也包括 生命周期钩子 ; 但是这种代码有一个很大的弊端: 当我们 实现某一个功

    2024年02月08日
    浏览(10)
  • 从Vue2到Vue3【一】——Composition API(第一章)

    内容 链接 从Vue2到Vue3【零】 Vue3简介 从Vue2到Vue3【一】 Composition API(第一章) 从Vue2到Vue3【二】 Composition API(第二章) 从Vue2到Vue3【三】 Composition API(第三章) 从Vue2到Vue3【四】 Composition API(第四章) Vue3作为Vue.js框架的最新版本,引入了许多令人激动的新特性和改进。其

    2024年02月16日
    浏览(13)
  • Vue Composition API之侦听器watch/watchEffect

    Vue Composition API之侦听器watch/watchEffect

    在日常的开发中,很多时候我们需要去对一些状态进行监听,比如当显示学生的成绩列表时,我们使用一个学生的学号student_num作为请求成绩的参数,如果没有监听机制,当学号student_num改变时,我们需要依赖用户的操作去刷新成绩。但是有了侦听器,我们可以通过侦听器去监

    2024年02月08日
    浏览(10)
  • 从Vue2到Vue3【三】——Composition API(第三章)

    从Vue2到Vue3【三】——Composition API(第三章)

    内容 链接 从Vue2到Vue3【零】 Vue3简介 从Vue2到Vue3【一】 Composition API(第一章) 从Vue2到Vue3【二】 Composition API(第二章) 从Vue2到Vue3【三】 Composition API(第三章) 从Vue2到Vue3【四】 Composition API(第四章) 随着Vue 3的发布,我们迎来了一套强大且令人兴奋的 组合式API ,这为开

    2024年02月16日
    浏览(41)
  • 从Vue2到Vue3【四】——Composition API(第四章)

    从Vue2到Vue3【四】——Composition API(第四章)

    内容 链接 从Vue2到Vue3【零】 Vue3简介 从Vue2到Vue3【一】 Composition API(第一章) 从Vue2到Vue3【二】 Composition API(第二章) 从Vue2到Vue3【三】 Composition API(第三章) 从Vue2到Vue3【四】 Composition API(第四章) 从Vue2到Vue3【五】 从Vue2到Vue3【五】——新的组件(Fragment、Teleport、S

    2024年02月16日
    浏览(13)
  • 从Vue2到Vue3【二】——Composition API(第二章)

    从Vue2到Vue3【二】——Composition API(第二章)

    内容 链接 从Vue2到Vue3【零】 Vue3简介 从Vue2到Vue3【一】 Composition API(第一章) 从Vue2到Vue3【二】 Composition API(第二章) 从Vue2到Vue3【三】 Composition API(第三章) 从Vue2到Vue3【四】 Composition API(第四章) Vue3作为Vue.js框架的最新版本,引入了许多令人激动的新特性和改进。其

    2024年02月17日
    浏览(10)
  • 探究Vue3中的Composition API:优化组件逻辑的新利器

    探究Vue3中的Composition API:优化组件逻辑的新利器

    在 Vue 3.0 中,引入了一种新的响应式 API,即 toRef 。 toRef 函数可以将一个普通值转换为响应式引用类型,这样就可以在模板中直接使用这个响应式引用类型的属性,并且当该属性发生变化时,视图会自动更新。 通过控制台打印输出的内容和页面的变化,我们可以观察到,age的

    2024年02月10日
    浏览(10)
  • Vue3.0 所采用的 Composition Api 与 Vue2.x 使用的 Options Api 有什么不同?

    Composition API 可以说是Vue3的最大特点,那么为什么要推出Composition Api,解决了什么问题? 通常使用Vue2开发的项目,普遍会存在以下问题: 1、代码的可读性随着组件变大而变差 2、每一种代码复用的方式,都存在缺点 3、TypeScript支持有限 一、Options Api Options API,即大家常说的

    2024年02月12日
    浏览(13)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包