Angular2分裂弦(管?)

问题描述 投票:2回答:2

有可能以某种方式使用类似于{{mystr | split(last) }}的东西吗?

我希望已经有一个管道。

split angular
2个回答
7
投票

你需要一个自定义管道。你可以这样实现:

@Pipe({
  name: 'split'
})
export class SplitPipe implements PipeTransform {
  transform(val:string, params:string[]):string[] {
    return val.split(params[0]);
  }
}

并像这样使用它:

{{mystr | split:last }}

其中last是与分隔符对应的组件的属性。


3
投票

我不确定last是什么。我猜你的意思是你想要字符串中的最后一组字符,如果你用一些分隔符分割字符串。例如,如果字符串是abc,def,ghi而分隔符是,那么你想要ghi

@Pipe({ name: 'splitLast' })
export class SplitLastPipe implements PipeTransform {
  transform(value:string, [separator]):string {
    let splits = value.split(separator);
    if(splits.length > 1) {
      return splits.pop();
    } else {
      return '';
    }
  }
}

{{mystr | splitLast:','}}

Plunker

© www.soinside.com 2019 - 2024. All rights reserved.