如何解决无法使用Angular9传递数据
我有一个从后端获取数据的数组。数据应该是这样的
HomeComponent.html
<table class="table table-hover" id =jres>
<thead>
<th *ngFor="let col of columns">
{{col}}
</th>
</thead>
<tbody>
<tr *ngFor="let jre of jreArray">
<ng-container *ngFor="let col of index" >
<td *ngIf='col !=="location"'>{{jre[col]}}</td>
<td *ngIf='col ==="location"' ><input class="btn btn-default" type="submit" value="Download" (click) ="download()"></td>
</ng-container>
</tbody>
</table>
HomeComponent.ts
export class HomeComponent implements OnInit {
constructor(private rs:RestService,private service:JreServiceService) {
}
columns= ["ID","JRE Name","Base Package","Download"];
index=["id","jrename","basepackage","location"]
jreArray: Array<IJre> = [];
searchkey: any;
path:any;
ngOnInit(): void {
this.service.getAllJre().subscribe(data=>{
this.jreArray = data;
console.log(data)
});
}
download(){
alert(this.path)
this.service.download(this.path).subscribe(data=>{
this.jreArray = data;
})
}
}
我要求单击“下载”按钮时将位置值传递给component.ts。我尝试了以下逻辑方法
1.ngModel
2。使用以下代码将值直接传递给方法
<td *ngIf='col
==="location"' ><input class="btn btn-default" type="submit" value="Download" (click) ="download(jre[col])"></td>
有没有简单的方法可以解决此问题。 请对此提供建议。
解决方法
我进行了以下更改。现在我可以传递位置了。
<tbody>
<tr *ngFor="let jre of jreArray">
<td >{{jre.id}}</td>
<td >{{jre.jrename}}</td>
<td >{{jre.basepackage}}</td>
<td ><input class="btn btn-default" type="submit" value="Download" (click) ="download(jre.location)"></td>
</tbody>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。