AngularPipe从枚举值中提取,但通用于任何枚举
创始人
2024-10-28 19:30:20
0

首先,在创建通用Pipe前,我们需要安装 npm 上的 @angular/compiler-cli 库来解析枚举。可以使用以下命令进行安装:

npm install @angular/compiler-cli --save-dev

接下来,我们可以创建一个通用Pipe,然后将模块的类作为参数传递并传递给 getNames 函数。此函数将返回传递的类中定义的所有键名:

import { Pipe, PipeTransform } from '@angular/core';

@Pipe({ name: 'enumToArray' })
export class EnumToArray implements PipeTransform {
  transform(value): Object {
    return Object.keys(value).filter((type) => isNaN(type) && type !== 'values').map((key) => value[key]);
  }
  getNames(enumClass): Array {
    return Object.keys(enumClass).filter((type) => isNaN(type) && type !== 'values');
  }
}

现在,我们可以在组件中使用这个通用的Pipe来提取任何枚举类的值:

{{ MyEnum | enumToArray }}

这就会返回 MyEnum 枚举类中定义的所有键的值。注意,通用枚举Pipe仅提取键名而不是键值。

相关内容

热门资讯

透视实锤!wepoker安装教... 透视实锤!wepoker安装教程(透视)切实教程(2026已更新)(哔哩哔哩)1、这是跨平台的wep...
透视攻略!aapoker脚本怎... 透视攻略!aapoker脚本怎么用(透视)透视脚本(本来是有挂);暗藏猫腻,小编详细说明aapoke...
透视总结!pokemmo免费脚... 透视总结!pokemmo免费脚本(透视)实用技巧(2022已更新)(哔哩哔哩);1、pokemmo免...
透视新版!aapoker怎么拿... 透视新版!aapoker怎么拿好牌(透视)真的假的(果然真的是有挂)1、每一步都需要思考,不同水平的...
透视了解!epoker底牌透视... 透视了解!epoker底牌透视(透视)科技教程(2020已更新)(哔哩哔哩)1、这是跨平台的epok...
透视挂!aapoker破解侠是... 透视挂!aapoker破解侠是真的吗(透视)免费透视脚本(一贯是有挂)1、完成aapoker破解侠是...
透视教程!德州之星扫描器(透视... 透视教程!德州之星扫描器(透视)黑科技教程(2024已更新)(哔哩哔哩)一、德州之星扫描器软件透明挂...
透视存在!aapoker俱乐部... 透视存在!aapoker俱乐部靠谱吗(透视)免费透视脚本(都是是真的有挂)1、aapoker俱乐部靠...
透视中牌率!来玩app破解版(... 透视中牌率!来玩app破解版(透视)AA德州教程(2025已更新)(哔哩哔哩)来玩app破解版软件透...
透视安装!aapoker如何设... 透视安装!aapoker如何设置胜率(透视)免费透视脚本(竟然真的是有挂)1、在aapoker如何设...