#angularjs #angular-ngmodel #angular-ng-if #angular-bootstrap
#angularjs #angular-ngmodel #angular-ng-if #angular-bootstrap
Вопрос:
У меня есть массив данных, извлекаемых из серверной части. Данные должны быть такими
Пользовательский
интерфейс привязывает вышеуказанные данные к таблице, используя следующий код
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>
Есть ли какой-нибудь простой способ решить эту проблему.
Пожалуйста, дайте совет по этому поводу.
Ответ №1:
я внес следующие изменения. теперь я могу передавать местоположение.
<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>