很抱歉,这是一个愚蠢的问题,但我似乎无法弄清楚。我需要将row元素的值传递给它调用的函数,但似乎无法访问该值。我无法为行提供唯一的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。
答案 0 :(得分:3)
target.value
仅适用于input
元素。 value
不是input
以外的元素的HTML属性,因此目标没有与该属性相等的value
属性。
您可以改为像这样传递整个目标:
<tr data-value=0 onmouseover={{action 'displayBar' value="target"}}>
,然后在您的js中:
actions: {
displayBar(target) {
const value = target.getAttribute('data-value');
}
}
这里是工作中的灰烬小提琴:https://ember-twiddle.com/c177c2be6f7d740968e2f02f79748d83?openFiles=controllers.application.js%2C (只需将鼠标悬停在“很多东西”上)
答案 1 :(得分:0)
完成这项工作:
<tr onmouseover={{action 'displayBar' 0}}>
?