vue.js - 如何在 vuejs 中的方法中访问 refs
问题描述
我想在方法对象内的函数中访问模板引用。目前,它在访问 refs 时抛出 undefined 。
我的代码如下:
<template>
<ul ref="lvl1_target" style="width: 440px" class="lvl1_target milestone_asset_data">
<li :style="{'width': getMileStonePercent(4,'lvl1_target')}" class="hybse_data">
<span></span>
<i></i>
<small>$4M</small>
</li>
</ul>
</template>
我在脚本标签中的代码如下:
export default {
methods: {
getMileStonePercent(num, secWrp) {
let ele = this.$refs[secWrp]
return ele.offsetWidth + '%'
},
},
created() {},
}
请提供解决方案,通过访问我的函数中的模板引用来获取宽度。提前致谢。
解决方案
您需要为ref
要定位的元素添加一个属性。
我不确定您到底要做什么,所以这里是一个通用示例:
<template>
<div ref="myElement"></div>
</template>
export default {
methods: {
setText() {
this.$refs.myElement.innerHTML = "Hello world"
},
},
}
推荐阅读
- javascript - 需要表单和数据验证方面的帮助
- asp.net-core - 在 ASP.NET 中重定向到子创建页面的最惯用的方法是什么?
- javascript - 不能调用子窗口函数
- python - 颜色设置不适用于图形绘制
- python - 如何从单独的线程(asyncio)使用高速公路 sendmessage()?
- django - 如何创建独立于 Django 服务器的 kafka 消费者
- ios - ios中的cordova'admob free'-应用程序运行时出现异常
- sql - 自定义查询以获取不在其他表中的数据
- image - 从 Openshift 的内部 docker 注册表中删除未使用的 docker 镜像?
- c# - Webp 图像未通过 ASP.NET mvc 在 Google Chrome 上显示