Невозможно передать данные с помощью Angular9

#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>