Gahing's blog Gahing's blog
首页
知识体系
  • 前端基础
  • 应用框架
  • 工程能力
  • 应用基础
  • 专业领域
  • 业务场景
  • 前端晋升 (opens new window)
  • Git
  • 网络基础
  • 算法
  • 数据结构
  • 编程范式
  • 编解码
  • Linux
  • AIGC
  • 其他领域

    • 客户端
    • 服务端
    • 产品设计
软素质
  • 面试经验
  • 人生总结
  • 个人简历
  • 知识卡片
  • 灵感记录
  • 实用技巧
  • 知识科普
  • 友情链接
  • 美食推荐 (opens new window)
  • 收藏夹

    • 优质前端信息源 (opens new window)
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Gahing / francecil

To be best
首页
知识体系
  • 前端基础
  • 应用框架
  • 工程能力
  • 应用基础
  • 专业领域
  • 业务场景
  • 前端晋升 (opens new window)
  • Git
  • 网络基础
  • 算法
  • 数据结构
  • 编程范式
  • 编解码
  • Linux
  • AIGC
  • 其他领域

    • 客户端
    • 服务端
    • 产品设计
软素质
  • 面试经验
  • 人生总结
  • 个人简历
  • 知识卡片
  • 灵感记录
  • 实用技巧
  • 知识科普
  • 友情链接
  • 美食推荐 (opens new window)
  • 收藏夹

    • 优质前端信息源 (opens new window)
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 前端基础

  • 应用框架

    • UI 框架

      • Angular

      • React

      • Solid

      • Svelte

      • Vue

        • Vue 项目中的 data-v-xxx 是怎么生成的
        • Vue之从零编写一个ContextMenu(右键菜单)插件
        • Vue 第一个组件,浏览器后退无法触发beforeRouteLeave的问题与解决
        • Vue3 学习笔记
          • vue3 defineExpose 时序问题
        • Vue问题记录
        • vue 中 updated 的执行时机
        • 源码解析

      • 框架本质

    • 开发框架

    • 组件库

  • 工程能力

  • 应用基础

  • 专业领域

  • 业务场景

  • 大前端
  • 应用框架
  • UI 框架
  • Vue
gahing
2024-09-09
目录

Vue3 学习笔记草稿

# vue3 defineExpose 时序问题

有这么一个场景,父组件修改传递给子组件的 prop 并调用子组件的方法,而在该子组件方法中会读取 props。请问子组件方法中读取的 props 是修改前还是修改后的值?

<script setup lang="ts">
import { ref, nextTick } from 'vue'
import Comp from './Comp.vue';
const count = ref(0)
const comRef = ref();

const update = () => {
  count.value++
  comRef.value.say()
}
</script>

<template>
  <div @click="update">ttt {{ count }}</div>
  <Comp :count="count" ref="comRef"></Comp>
</template>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

结论:读取的是修改前的值,如果想要确保子组件执行时读取的是新的 prop 值,需要用 nextTick 包装一下

const update = () => {
  count.value++
  nextTick(() => {
    comRef.value.say()
  })
}
1
2
3
4
5
6

在线示例 (opens new window)

编辑 (opens new window)
上次更新: 2025/06/11, 23:06:59
Vue 第一个组件,浏览器后退无法触发beforeRouteLeave的问题与解决
Vue问题记录

← Vue 第一个组件,浏览器后退无法触发beforeRouteLeave的问题与解决 Vue问题记录→

最近更新
01
我的 2024 总结
12-31
02
浅谈代码质量与量化指标
08-27
03
快速理解 JS 装饰器
08-26
更多文章>
Theme by Vdoing | Copyright © 2016-2025 Gahing | 闽ICP备19024221号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式