vue3 $refs使用方法

由于在vue3 setup中已经没有了this,所以this.$refs 自然是不能使用的,但是vue3 还给我们预留了一个api,那就是getCurrentInstance,我们可以通过声明定义的方式,替换this。

TypeScript 复制代码
<script setup>
import { getCurrentInstance } from 'vue'

const instance = getCurrentInstance()
const childRef = instance.ctx.$refs.bzhlcEcharts.initChart()

</script>

但是我这里主推的不是这种方法,因为这类写法在 Vue 3 里不稳定,尤其是在 <script setup> 里,ctx 也不是推荐用法。

最稳妥的方式是:用 ref 绑定子组件实例,然后直接 .value 调方法,也就是:

TypeScript 复制代码
<template>
    <lineChart ref="trendChart" class="chart-container"></lineChart >
</template>
<script setup lang="ts">
import { ref } from "vue"
import lineChart from './lineChart .vue'

const trendChart= ref<any>(null)
trendChart.value?.initChart();

</script>

效果:

相关推荐
zhanghaha13141 小时前
HTML系列教程:4_什么是 HTML 元素(零基础超详细讲解)
前端·算法·html
AI 编程助手GPT2 小时前
VS Code 1.133 实战:Claude 可免 GitHub 登录,HTML 保存后自动刷新
前端·html·github
灯澜忆梦2 小时前
【基于GO的Web开发3】gin框架_HTML渲染
前端·golang·gin
小徐_23339 小时前
wot-ui-cli 1.1.0 发布:支持 OpenCode、Antigravity,wot-ui 图标迁移不再靠猜
前端
__zRainy__9 小时前
Node.js Web 框架选型指南:从 Express 到 Hono 的全景对比
前端·node.js·express·koa·nestjs·egg·fastify
西瓜有点饿10 小时前
PostCSS 和 UnoCSS 的作用和区别
前端·postcss
伟大的兔神10 小时前
我做了一个本地优先的 AI 图片工作台:Loomora v1.0.0 正式发布
前端·javascript·vue.js
90后的晨仔11 小时前
uni-app项目 Vue3 状态管理 Pinia 完全指南:从概念到实战的深度解析
前端
90后的晨仔12 小时前
uni-app 在 iOS 平台跳转页面时移除底部安全区域的完整技术指南
前端