【发布时间】:2019-11-04 11:38:52
【问题描述】:
我有一个对象列表,通过单击其中一个,我需要打开一个模式并显示该对象的一些属性。
我的代码如下所示:
对象组件:
export class VendorComponent implements OnInit {
@Input() currentVendor: Vendor;
vendors: Vendor[];
constructor(public actRoute: ActivatedRoute,
public router: Router,
private vendorService: VendorService,
private modalHandlerService: ModalHandlerService) { }
ngOnInit() {
this.GetAll();
}
GetAll() {
this.vendorService.getVendors().subscribe((data: Vendor[]) => {
this.vendors = data;
});
}
openVendorDetailsModal() {
this.modalHandlerService.openVendorDetailsModal(this.currentVendor);
}
}
点击openVendorDetailsModal时,我需要打开一个带有详细信息的模式,我的视图如下所示:
<table>
<tr>
<th>Id</th>
<th>Name</th>
</tr>
<div *ngFor="let vendor of vendors" [currentVendor]= "vendor" (click)="openVendorDetailsModal(vendor)">
<tr>
<td>{{vendor.Id}}</td>
<td>{{vendor.Name}}</td>
</tr>
</div>
</table>
问题是视图上的[currentVendor]= "vendor" 语法正在返回标题中提到的错误。如何将当前供应商绑定到组件,以便我可以将其作为方法的参数发送?
【问题讨论】:
-
移除
[currentVendor]并在组件处接收您的openVendor...中的供应商 -
我试过了,但是在组件上输入属性是未定义的,所以模态显示为空
标签: angular data-binding components