Как использовать KeyValuePipe в файле component.ts? - PullRequest
0 голосов
/ 01 октября 2019

Можно ли использовать KeyValuePipe не в формате html, а в файле ts? Если да, может кто-нибудь показать мне, как?

Это то, что у меня сейчас, но, очевидно, я не могу использовать трубу, как это.

let item of this.entityDetails | keyvalue{
            let properties:PropertyBase<any>[]=[
                new TextboxProperty({
                    key: item.key,
                    label: item.key,
                    value: item.value,
                    required: false,
                }),
                ];
        }

Большое спасибо заранее

Ответы [ 3 ]

1 голос
/ 01 октября 2019

Конечно, вы можете. Вы просто должны импортировать его и внедрить как любой сервис. Вы импортируете его из @angular/common.

import { KeyValuePipe } from "@angular/common";

constructor(private keyValuePipe: KeyValuePipe) {

    const transformed = this.keyValuePipe.transform(this.entityDetails);

    for (let item of transformed) {
      let properties: PropertyBase<any>[] = [
        new TextboxProperty({
          key: item.key,
          label: item.key,
          value: item.value,
          required: false
        })
      ];
    }
  }
0 голосов
/ 01 октября 2019

да. Вы можете использовать pipe в файле ts.

 constructor(public dataformatpipe: DateFormatPipe){}

ngOnInt(){}

  formatData(date) {
    return this.dataformatpipe.transform(date);
   }

html файл

 <span class="value-data">{{formatData(item.startData)}}</span>
0 голосов
/ 01 октября 2019

Напишите собственный канал, который вы можете записать в файл ts, чтобы можно было преобразовать, передать из родительского объекта в качестве ввода канала и поработать с файлом TS своего канала для ссылки. https://alligator.io/angular/custom-pipes-angular/

...