首页 > 解决方案 > 如何在 components.ts 文件中使用 KeyValuePipe?

问题描述

是否可以不在 html 中而是在 ts 文件中使用 KeyValuePipe?如果是的话,有人可以告诉我怎么做吗?

这就是我现在所拥有的,但显然我不能像这样使用管道。

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

非常感谢提前

标签: javascriptarraysangularpipe

解决方案


你当然可以。你只需要像任何服务一样导入它并注入它。你从@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
        })
      ];
    }
  }

推荐阅读