0

我在数组中使用 Ember 组件(例如:按钮):

{{#each employees as |employee|}}
   {{employee.first_name}}
   {{component "button" action='promoteEmployee' emp_id=employee.id}}
{{/each}}

并且,在按钮上的组件操作是 pressButton(eg):

pressButton: function(){
  this.sendAction('action', this.get('emp_id'));
}

但是,当员工列表被渲染时(例如):

爱丽丝 |推广| 标记 |推广| 特斯拉 |推广|

我点击按钮来提升员工(比如员工 Mark),冒泡的 emp_id 是 Alice(总是列表中的第一个员工)(而不是 Mark),你能告诉我我要去哪里吗这里错了吗?

4

1 回答 1

3

因此,您需要将员工 ID 作为操作的参数传递:

模板:

{{#each employees as |employee|}}
    {{employee.first_name}}
    {{button action=(action 'promoteEmployee' employee.id)}}
{{/each}}

零件:

actions: {
  pressButton(empId){
    this.get('action')(empId);
  }
}
于 2016-03-17T14:57:58.840 回答