VUE3 ref 和 useTemplateRef

使用ref来绑定和获取

页面

javascript 复制代码
        <headerNav ref="headerNavRef"></headerNav>
        <div @click="showRef" ref="buttonRef">refbutton</div>

使用ref方法const后面的命名需要跟页面的ref值一样

javascript 复制代码
const buttonRef = ref('buttonRef')
const headerNavRef = ref('headerNavRef')
const showRef = () => {
    console.log(buttonRef.value,headerNavRef.value);
}

vue3.5 使用useTemplateRef 推荐

javascript 复制代码
const bRef = useTemplateRef('buttonRef')
const href = useTemplateRef('headerNavRef')
const showRef = () => {
    console.log(href.value,bRef.value);
}

当父组件想要通过 ref 获取自组件里面的内容 需要自组件主动暴露出去 ------defineExpose

javascript 复制代码
/**
 * defineExpose({xxxx,xxxx})
 */
defineExpose({
    navActive
})

如果你的vue不是3.5则需要更新vue的版本 可以去看另外一个文章
检查项目中的依赖是否有更新------npm outdated

相关推荐
m0_7381207210 分钟前
CTFshow系列——命令执行web38-40
前端·windows·安全·web安全
zhoxier2 小时前
elementui el-select 获取value和label 以及 对象的方法
javascript·vue.js·elementui
是小狐狸呀2 小时前
elementUI-表单-下拉框数据选中后,视图不更新
前端·javascript·elementui
四岁半儿4 小时前
常用css
前端·css
你的人类朋友5 小时前
说说git的变基
前端·git·后端
姑苏洛言5 小时前
网页作品惊艳亮相!这个浪浪山小妖怪网站太治愈了!
前端
字节逆旅5 小时前
nvm 安装pnpm的异常解决
前端·npm
Jerry5 小时前
Compose 从 View 系统迁移
前端
IT码农-爱吃辣条6 小时前
Three.js 初级教程大全
开发语言·javascript·three.js
GIS之路6 小时前
2025年 两院院士 增选有效候选人名单公布
前端