在 ember 控制器中获取 table 属性或 属性 值
Get table attribute or property value within ember controller
我有一个 ember 应用程序,它在页面中有一个 table 和一个网格组件。我启用了拖放功能,该功能从 table 的特定单元格中拖出一个值并将其放入网格的空 space 中。由于 table 有多个列,我想获取索引位置或者我想知道正在拖动哪一列的单元格。我想要控制器中列的索引值。
假设 table 有 3 行 3 列。对于被拖动的第一列中的所有元素,我想将第二列和第三列的索引值类似地设置为 1。
这是我的 table
的 .hbs 代码
<table class = "table table-bordered">
<thead>
<tr>
<th colspan="6">Inbound Units</th>
</tr>
</thead>
<tbody>
{{#each currentbid as |currentbid|}}
<tr>
{{#each pull as |pull|}}
{{#if (eq pull.DRIVERNAME currentbid.DRIVERNAME)}}
<td abbr="P1">{{#draggable-object content=pull position=1 dragEndAction='dragEndAction'}}{{#draggable-object-target action="draganddrop"}}{{pull.P1}}{{/draggable-object-target}}{{/draggable-object}}</td>
<td>{{pull.P2}}</td>
<td>{{pull.P3}}</td>
<td>{{pull.P4}}</td>
{{/if}}
{{/each}}
</tr>
{{/each}}
</tbody>
</table>
正如您在 table td 标签中看到的那样,我已经指定了缩写属性。但我不知道如何在控制器中获取 abbr 的值。任何其他方式也可以。
谢谢!
此答案适用于 Ember 2.x.x 并且写于 2.15。
默认情况下,通过闭包分配给特定事件的操作,如 ondragEnd={{action "someAction"}}
接收事件目标作为参数:
actions: {
someAction(event) {
console.log(event.target)
}
}
或许,您可以在您的组件中使用 event.target.parentElement.className
来获取 class 名称,然后将操作和参数发送到您的控制器。希望该选择器 return 成为新的父级而不是旧的。
您可以在 Ember Guides 中阅读有关捕获浏览器事件的不同方法。
我有一个 ember 应用程序,它在页面中有一个 table 和一个网格组件。我启用了拖放功能,该功能从 table 的特定单元格中拖出一个值并将其放入网格的空 space 中。由于 table 有多个列,我想获取索引位置或者我想知道正在拖动哪一列的单元格。我想要控制器中列的索引值。
假设 table 有 3 行 3 列。对于被拖动的第一列中的所有元素,我想将第二列和第三列的索引值类似地设置为 1。
这是我的 table
的 .hbs 代码<table class = "table table-bordered">
<thead>
<tr>
<th colspan="6">Inbound Units</th>
</tr>
</thead>
<tbody>
{{#each currentbid as |currentbid|}}
<tr>
{{#each pull as |pull|}}
{{#if (eq pull.DRIVERNAME currentbid.DRIVERNAME)}}
<td abbr="P1">{{#draggable-object content=pull position=1 dragEndAction='dragEndAction'}}{{#draggable-object-target action="draganddrop"}}{{pull.P1}}{{/draggable-object-target}}{{/draggable-object}}</td>
<td>{{pull.P2}}</td>
<td>{{pull.P3}}</td>
<td>{{pull.P4}}</td>
{{/if}}
{{/each}}
</tr>
{{/each}}
</tbody>
</table>
正如您在 table td 标签中看到的那样,我已经指定了缩写属性。但我不知道如何在控制器中获取 abbr 的值。任何其他方式也可以。
谢谢!
此答案适用于 Ember 2.x.x 并且写于 2.15。
默认情况下,通过闭包分配给特定事件的操作,如 ondragEnd={{action "someAction"}}
接收事件目标作为参数:
actions: {
someAction(event) {
console.log(event.target)
}
}
或许,您可以在您的组件中使用 event.target.parentElement.className
来获取 class 名称,然后将操作和参数发送到您的控制器。希望该选择器 return 成为新的父级而不是旧的。
您可以在 Ember Guides 中阅读有关捕获浏览器事件的不同方法。