javascript - Vue 3:为什么在 Vue 3 模板中引用时 dom 引用值未定义
问题描述
我正在使用 Vue 3 beta 版本,我正在尝试在设置功能中访问 ref,我的组件:
JS(Vue):
const Child = createComponent({
setup () {
let tabs = ref()
console.log(tabs)
return {}
},
template: '<div ref="tabs" >Wow</div>'
})
演示:https ://jsfiddle.net/xkeyLwu4/2/
但是 tabs.value 的值是未定义的。我在这里做错了什么?
解决方案
您需要
setup()
返回具有相同名称的 ref。onMounted
在挂载 ( )之后才能记录 DOM 结果
const Child = createComponent({
setup () {
let tabs = ref()
onMounted(() => console.log(tabs.value))
return { tabs }
},
template: '<div ref="tabs" >Wow</div>'
})
有关更多示例,请参阅文档:https ://composition-api.vuejs.org/api.html#template-refs
推荐阅读
- jquery - 将类从元素列表中的一个元素移动到另一个元素
- android - 从 nativescript 插件在应用程序活动生命周期中编写代码
- javascript - React hooks: get state of useState inside a listener
- javascript - 使用 querySelector 从 Embed 获取 instagram 图像 src
- sqlite - 如何在 sqlite3 中获取多个随机数
- laravel - 使用虚拟数据库测试护照 oauth2 时,laravel 测试失败
- python - 在 Dict 类型变量中使用字符串变量
- c - 枚举存储在哪里?
- ruby - 如何用最少的代码创建大的哈希值
- ruby-on-rails-4 - 如何为 activeadmin 资源生成日志?