Angular 自定义管道pipes的使用

Angular的管道是处理数据到显示的逻辑,我们获取的用户的roles是json的数组,并不能直接展示,所以需要写一个管道展示用户所有的角色。

创建src/app/helpers/pipes.ts写一个自定义管道arrayToString

  /**
   * 
   * @param value 传入值
   * @param defaultStr 默认显示
   * @param split 分割符
   * @param key object的key值
   */
  transform(value: Array<any>, defaultStr = '', split = ',', key?: string): string {
    if (value.length) {
      let strs;
      if (key) {
        strs = new Array();
        for (let v of value) {
          for (let k in v) {
            if (k == key) {
              strs.push(v[k]);
            }
          }
        }
      } else {
        strs = value;
      }
      return strs.join(split);
    } else {
      return defaultStr;
    }
  }

src/app/app-routing.module.ts导入

import { ArrayToStringPipe } from './helpers/pipes';

并添加到declarations

  declarations: [
    ...
    ArrayToStringPipe,
    ...
  ]

在模板中使用src/app/views/user/list.component.html

{{m.roles | arrayToString:'普通用户':',':'name'}}

《PHP微服务练兵》系列索引:https://blog.csdn.net/donjan/article/details/103005084

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值