uniapp使用vue3的ref获取dom元素出现undefined

在我的代码里面,已经通过ref来定义想要获取的dom了,但是最后在页面渲染完之后,打印这个dom发现竟然是undefined:

获取不到dom元素:

最后查资料发现:

小程序中,uniapp的ref要绑定在子组件中才能被获取,如果绑定在view,是获取不了的,你得把业务写在一个组件来引用才行。h5则没有这种情况。

暂时没有好的解决办法,因为我用到了html2canvas这个依赖包,需要将页面转化为一张图片保存,那么微信小程序获取不到dom元素,就只能使用另外的办法。

另外的办法说明:

1.单独部署一个h5页面,然后在h5页面中生成图片,并将图片存储到服务器中,然后返回给下载地址。

2.本地自己使用canvas画一个你需要的图片,但是难度估计非常大

相关推荐
独立开发之道2 分钟前
【Three.js教程】 图元速查:官方内置的立体图形
开发语言·javascript·ecmascript
程序员小八7772 分钟前
后端转全栈:前端思维转变(Vue 视角)
前端·vue.js·状态模式
RD_daoyi5 分钟前
谷歌改写了76%的标题:超60字符的,95%会被谷歌自己重写
大数据·服务器·开发语言·前端·搜索引擎·html
IMPYLH13 分钟前
HTML 的 <map> 元素
前端·html
宿67428 分钟前
vue3-vite
前端·vue.js
风骏时光牛马32 分钟前
云原生驱动模型工具高效落地与规模化赋能
前端
zhanghaha131433 分钟前
HTML系列教程:8_HTML 文本格式化标签
前端·css·html
梦想的旅途239 分钟前
基于企业微信API的微应用前端与后端架构设计
前端·状态模式·企业微信
JavaGuide2 小时前
一个 SKILL.md 拿下 2.3 万 Star:让 Codex/Claude Code 少说废话、先给答案
前端·后端
晴天162 小时前
多个 VS Code 项目会导致 Chrome 和 Electron 应用一起卡住?-Day30
前端·chrome·electron