将 html 元素的值作为参数传递给 ember

Passing the value of an html element as a parameter in ember

如果这是一个愚蠢的问题,我很抱歉,但我似乎无法弄清楚。我需要将行元素的值传递给它调用的函数,但我似乎无法访问该值。我无法为该行指定唯一 ID,因为我将行添加到 table 的过程涉及复制该行并更改其值。这是我的代码:

    <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等等,结果都是undefined。我让参数未定义的唯一方法是如果我只是发送“0”作为参数而不是 this.value.

这个有用吗:

<tr onmouseover={{action 'displayBar' 0}}>

?

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');
  }
}

这是一个有效的 Ember Twiddle:https://ember-twiddle.com/c177c2be6f7d740968e2f02f79748d83?openFiles=controllers.application.js%2C (只需将鼠标悬停在 "Lots of stuff" 上)