primeng ptable router ссылка, не передающая queryParams - PullRequest
0 голосов
/ 14 сентября 2018

Я новичок в Angular и использую primeng для отображения полей данных. Когда я нажимаю гиперссылку, я хочу, чтобы данные гиперссылки отображались. ниже код

     <ng-template pTemplate="body" let-file let-i="absRowIndex">
            <tr>
              <td><a routerLink='/getfiledata'>{{file.fID}}</a></td>
              <td><a routerLink='/getfiledata' queryParams="{fID:{file.fID}">{{file.fName}}</a></td>
              <td>{{file.fType}}</td>
              <td>{{file.fUuser}}</td>
              <td>{{file.fUploadDT}}</td>
              <td>{{file.fStatus}}</td>
            </tr>
          </ng-template>

в файле компонента я добавил следующий код

import { Component, OnInit, OnDestroy } from '@angular/core';
import { ActivatedRoute } from '@angular/router';

@Component({
 selector: 'app-fetch-data',
 templateUrl: './fetch-data.component.html',
 styleUrls: ['./fetch-data.component.css']
})
export class FetchDataComponent implements OnInit, OnDestroy {

private fid ;
private ftype: string ;
private sub: any;

constructor(private route: ActivatedRoute) { }

ngOnInit() {

this.sub = this.route
  .queryParams
  .subscribe(params => {
    console.log(params);
  this.fid = params['fID']; // (+) converts string 'id' to a number
});
}

ngOnDestroy() {
  this.sub.unsubscribe();
}
}

Но параметр получен как

{0: "[", 1: "f", 2: "I", 3: "D", 4: ":", 5: "2", 6: "8", 7: "]"}

Я хочу получить как

{fID:28 }

чтобы использовать его дальше.

Заранее спасибо за помощь.

1 Ответ

0 голосов
/ 14 сентября 2018

Я повторил вашу проблему. Вам просто нужно передать параметры запроса в квадратных скобках, как показано ниже, и это будет работать:

<a routerLink='/getfiledata' [queryParams]="{fID:file.fID">{{file.fName}}</a> 
...