【问题标题】:Assign variable value from another component in *ngFor by click in angular 2通过单击角度 2 从 *ngFor 中的另一个组件分配变量值
【发布时间】:2017-12-03 08:19:42
【问题描述】:

我尝试在 *ngFor 中将对象传递给另一个组件,但只传递了表格中的最后一个对象,但应该显示被点击的对象,如何解决这个问题?

  <tr data-toggle="control-sidebar" *ngFor="let user of pagedItems">
      <td><control-sidebar [user]="user">
  </control-sidebar>{{ user.name }}</td>

在另一个组件视图中只显示最后一个表格行。

【问题讨论】:

标签: angular input selector ngfor pass-data


【解决方案1】:

当您将user 数据绑定到control-sidebar 时:

[user]="userDtails",问题出在这里。

修改代码:

<tr data-toggle="control-sidebar" *ngFor="let user of pagedItems">
      <td (click)="getUser(user)"><control-sidebar [user]="user">
  </control-sidebar>{{ user.name }}</td>

确保您已在组件类中定义了getUser 方法。

请注意,我已设置:[user]="user"。因为您想将user 对象传递给control-sidebar。

现在一切正常。

编辑:

由于您想显示被点击的user,您可以将一个方法绑定到(click) 处理程序并传递user 对象。例如:

(click)="showUser(user)"

【讨论】:

  • 哦,对不起,我在写帖子时犯了一个错误。我更正了它。在我的代码中是相同的绑定,我得到了上面描述的结果
  • 单击td 后,您想要user 对象,对吧?
  • 可能是因为我在你的例子中使用了 table insted li,所以它不起作用?
  • 点击处理程序适用于td。编辑答案。它应该可以正常工作。
  • 我注意力不集中,忘记了组件中的 elvis 运算符,你的例子对我有帮助!谢谢!!
猜你喜欢
  • 2018-01-08
  • 2017-05-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-05
  • 1970-01-01
  • 2020-01-02
  • 1970-01-01
相关资源
最近更新 更多