javascript - 在ember中将html元素的值作为参数传递
问题描述
如果这是一个愚蠢的问题,我很抱歉,但我似乎无法弄清楚。我需要将行元素的值传递给它调用的函数,但我似乎无法访问该值。我不能给行一个唯一的 id,因为我向表中添加行的过程涉及复制行并更改其值。这是我的代码:
<tr value = "0" onmouseover={{action 'displayBar' this.value}}>
// ^ This is the value I am trying to pass ^ This is how I am trying to pass it
我已经尝试过 this.value、value="target.value"、value 等,但结果都是未定义的。我让参数未定义的唯一方法是,如果我只是发送“0”作为参数而不是 this.value。
解决方案
target.value
仅适用于input
元素。value
不是 以外元素的 HTML 属性input
,因此目标不具有与该value
属性相等的属性。
您可以像这样传递整个目标:
<tr data-value=0 onmouseover={{action 'displayBar' value="target"}}>
然后在你的js中:
actions: {
displayBar(target) {
const value = target.getAttribute('data-value');
}
}
这是一个有效的 Ember Twiddle:https ://ember-twiddle.com/c177c2be6f7d740968e2f02f79748d83?openFiles=controllers.application.js%2C (只需将鼠标悬停在“很多东西”上)
推荐阅读
- asp.net-core - 为什么回滚后我在 SaveChanges 上收到 DbUpdateConcurrencyException
- c# - 如何在 C# 中标准化花哨的 unicode 字符串?
- java - 从 JPanel 获取课程
- email - 尝试连接到 Gmail 的 SMTP
- javascript - Jquery:第一次点击后停止
- node.js - 试图在 Discord bot 中进行决斗功能,但 while 循环导致致命错误
- python - Pandas.cut() 关于分类值
- mysql - 将 SQL 转换为 DQL
- java - 如何在片段上修复我的 FirebaseRecyclerAdapter?
- unity3d - Oculus Quest:在 Oculus Quest 中录制视频