通过在 angular 中单击,从 *ngFor 中的另一个组件分配变量值 2
Assign variable value from another component in *ngFor by click in angular 2
我尝试在*ngFor中将对象传递给另一个组件,但在table中只传递了最后一个对象,但应该显示被点击的对象,如何解决这个问题?
<tr data-toggle="control-sidebar" *ngFor="let user of pagedItems">
<td><control-sidebar [user]="user">
</control-sidebar>{{ user.name }}</td>
并且在另一个组件视图中仅显示最后 table 行。
当您将 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>
确保您已经在组件 class.
中定义了 getUser
方法
注意我设置了:[user]="user"
。因为您想将 user
对象传递给 control-sidebar
.
现在一切正常。
编辑 :
因为你想显示被点击的 user
你可以绑定一个方法到 (click)
处理程序并传递 user
对象。例如:
(click)="showUser(user)"
我尝试在*ngFor中将对象传递给另一个组件,但在table中只传递了最后一个对象,但应该显示被点击的对象,如何解决这个问题?
<tr data-toggle="control-sidebar" *ngFor="let user of pagedItems">
<td><control-sidebar [user]="user">
</control-sidebar>{{ user.name }}</td>
并且在另一个组件视图中仅显示最后 table 行。
当您将 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>
确保您已经在组件 class.
中定义了getUser
方法
注意我设置了:[user]="user"
。因为您想将 user
对象传递给 control-sidebar
.
现在一切正常。
编辑 :
因为你想显示被点击的 user
你可以绑定一个方法到 (click)
处理程序并传递 user
对象。例如:
(click)="showUser(user)"