использовать вызовы функций в шаблоне Angular - PullRequest
1 голос
/ 09 марта 2020

Я работаю над Angular 8 и хочу использовать функцию с вызовами параметров в шаблоне Angular, поэтому я использовал PipeTransform, проблема в том, что переменная не определена вне подписки, когда я использую сервис

это CqpPipe.pipe.ts

 projectCqp :string[];
 transform(value: number, args?: any) {

    this.cqpservice.getNumberOfProjectPerCQP(value, "Ressource Allocation").subscribe(data  => {
    this.projectCqp = data;});}

, и это служба

  getNumberOfProjectPerCQP(cqpid:number,type:string){
return this.httpclient.get<string[]>(this.cqpUrl+'/project/CqpAndType/'+cqpid+'/' + type);}

и, наконец, я вызвал функцию в таблице следующим образом: {{c .id | getNumberOfProject}}, который ничего не возвращает в шаблоне

1 Ответ

1 голос
/ 09 марта 2020

поэтому главная проблема, которую я вижу, в том, что вам нужно прекратить использование подписки в канале, просто сопоставьте Observable и используйте канал asyn c в шаблоне для разрешения значения.

Посмотрите на это:

transform(value: number, args?: any) {
    return this.cqpservice.getNumberOfProjectPerCQP(value, "Ressource Allocation").pipe(map(data  => data));
}

конечно, эта карта избыточна - вы можете опустить это, но если вы хотите что-то изменить, просто используйте карту.

затем в шаблоне:

<div>{{data | cqpPipe | async}}</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...