【无标题】


生命周期


创建阶段:set up

我们直接console.log就可以了

console.log(“创建”);
挂载阶段:onBeforeMount(挂载前)、onMounted(挂载完毕)

import { onBeforeMount, onMounted } from ‘vue’;
// 挂载前
onBeforeMount(() => {
console.log(“挂载前”);
})
// 挂载完毕
onBeforeMount(() => {
console.log(“挂载完毕”);
})
更新阶段:onBeforeUpdate(更新前)、onUpdated(更新完毕)

<template>
    <div>
        sum值为:{{ sum }}
    </div>
    <button @click="countSum">sum+1<tton>
</template>
<script setup lang="ts">
import { onBeforeUpdate, onUpdated, ref } from 'vue';
let sum = ref(1)
function countSum() {
    sum.value += 1
}
// 更新前
onBeforeUpdate(() => {
    console.log("更新前");
})
// 更新完毕
onUpdated(() => {
    console.log("更新完毕");
})
</script>
<style scoped><yle>

卸载阶段:onBeforeUnmount(卸载前)、onUnmounted(卸载完毕)
我们可以使用v-if去做测试

// 卸载前
onBeforeUnmount(() => {
console.log(“卸载前”);
})
// 卸载完毕
onUnmounted(() => {
console.log(“卸载完毕”);
})

ref、reactive
<template>
    <div>sum的值为:{{ sum }}</div>
    <button @click="add">sum+1<tton>
    <div>姓名:{{ obj.name }}</div>
    <button @click="changeName">修改姓名为李四<tton>
</template>
 
<script setup lang="ts" name="Person">
import { ref } from 'vue';
// 我们需要用ref()的形式去定义需要响应式的数据
let sum = ref(1)
function add() {
    // 注意点,我们需要用到 sum.value才可以获取到值
    sum.value += 1
}
// 我们也可以用在对象上
const obj = ref({
    name: "张三"
})
function changeName() {
    // 对象我们需要使用到obj.value才可以修改数据
    obj.value.name = "李四"
}
</script>
<style scoped><yle>

reactive的基本使用与注意事项

<div>姓名:{{ obj.name }}</div>
  	<button @click="changeName">修改姓名为李四<button>
<script setup lang="ts" name="Person">
import { reactive } from 'vue';
// 我们也可以用在对象上
const obj = reactive({
    name: "张三"
})
// reactive就不像ref一样,不需要使用到.value
function changeName() {
    // 修改姓名 直接obj.name
    // obj.name = "李四"
    // 我们也可以使用到Object.assign 这是我们想把对象整体改掉时写的
    Object.assign(obj, { name: "李四" })
}
</script>
<style scoped><yle>

使用规则:
若需要一个基本类型的响应式数据,必须用ref
若需要一个响应式对象,层级不深,ref、reactive 都可以
若需要一个响应式对象,且层级较深,推荐使用reactive

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值