vue3 入门学习 第二篇

computed 函数的使用

在前面的Options API中,我们是使用computed选项来完成的;
在Composition API中,我们可以在 setup 函数中使用 computed 方法来编写一个计算属性

如何使用computed呢?
 方式一:接收一个getter函数,并为 getter 函数返回的值,返回一个不变的 ref 对象;
 方式二:接收一个具有 get 和 set 的对象,返回一个可变的(可读写)ref 对象;

setup(){
 const firstName =  ref('z')
 const lastName = ref('c')
 const fullName = computed(()=>{
     return firstName.value + lastName.value
  })
}

在这里插入图片描述
当fullName发生改变的时候会触发set函数

setup函数中使用ref获取dom

在这里插入图片描述

组件的生命周期

◼ 我们前面说过 setup 可以用来替代 data 、 methods 、 computed 等等这些选项,也可以替代 生命周期钩子。
◼ 那么setup中如何使用生命周期函数呢?
 可以使用直接导入的 onX 函数注册生命周期钩子;

import {onMounted} from 'vue'
onMounted(()=>{})
onUpdated(()=>{})
ondestoryed(()=>{})

provide/inject

watch watchEffect

◼ 在前面的Options API中,我们可以通过watch选项来侦听data或者props的数据变化,当数据变化时执行某一些操作。
◼ 在Composition API中,我们可以使用watchEffect和watch来完成响应式数据的侦听;
 watchEffect:用于自动收集响应式数据的依赖;
 watch:需要手动指定侦听的数据源;

watch的API完全等同于组件watch选项的Property:
 watch需要侦听特定的数据源,并且执行其回调函数;
 默认情况下它是惰性的,只有当被侦听的源发生变化时才会执行回调

const name = ref('zc')
watch( name , (newValue,oldValue) => {
 	console.log( newValue , oldValue )
} )

侦听器还可以使用数组同时侦听多个源

const name = ref('zc')
const age = ref(18)
watch([[name,age],( newValue,oldValue) => {
 	console.log( newValue , oldValue )
 })

在这里插入图片描述
watch监听对象的某一个属性

const obj = reactive({
 name:'zc',
 age:19
})
watch( ()=>obj.name , (newValue , oldValue) =>{. } )

在这里插入图片描述在这里插入图片描述

自定义hook练习

script setup语法糖

使用这个语法,需要将 setup attribute 添加到 script 代码块上
在这里插入图片描述
里面的代码会被编译成组件 setup() 函数的内容:
 这意味着与普通的s只在组件script被首次引入的时候执行一次不同;
 script setup中的代码会在每次组件实例被创建的时候执行
在这里插入图片描述
在这里插入图片描述

defineProps() 和 defineEmits()

为了在声明 props 和 emits 选项时获得完整的类型推断支持,我们可以使用 defineProps 和 defineEmits API,它们将自动地在 script setup> 中可用:
在这里插入图片描述

defineExpose()

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱玩亚索的程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值