Angular 在管道处使用有角度的分裂管柱,并使用两个管柱

Angular 在管道处使用有角度的分裂管柱,并使用两个管柱,angular,pipe,Angular,Pipe,要求: 我有一个像这样用管道分隔的字符串-一些值|其他值。我需要在管道处拆分它,并使用这两个值。因此,我试图在下面的模板中实现它 {{row.full_value | splitDelimiter:'|':'beforeSeparator'}} {{row.full_value | splitDelimiter:'|':'afterSeparator'}} 我正在尝试使用以下代码。知道它为什么会出错吗? 提前感谢您的帮助: @Pipe({ name: 'splitDelimiter' })

要求: 我有一个像这样用管道分隔的字符串-一些值|其他值。我需要在管道处拆分它,并使用这两个值。因此,我试图在下面的模板中实现它

{{row.full_value | splitDelimiter:'|':'beforeSeparator'}}
{{row.full_value | splitDelimiter:'|':'afterSeparator'}}
我正在尝试使用以下代码。知道它为什么会出错吗? 提前感谢您的帮助:

@Pipe({
  name: 'splitDelimiter'
})
export class SplitDelimiter implements PipeTransform {
  transform(value:string, [separator], [firstOrLastValue]):string {
    let splits = value.split(separator);
    if(splits.length > 1) {
        if(firstOrLastValue.toString() == "beforeSeparator") {
            return splits.shift();
        }
        if(firstOrLastValue.toString() == "afterSeparator"){
            return splits.pop();
        }
    } else {
      return 'Null';
    }
  }
}

// usage : 
// {{stringToSeparate | splitDelimiter:'|':'beforeSeparater'}}

您没有在管道中正确获取参数。它们不是数组:

export class SplitDelimiter implements PipeTransform {
  transform(value:string, separator, firstOrLastValue):string {
    let splits = value.split(separator);
    if(splits.length > 1) {
        if(firstOrLastValue === "beforeSeparator") {
            return splits.shift();
        }
        if(firstOrLastValue === "afterSeparator"){
            return splits.pop();
        }
    } else {
      return 'Null';
    }
  }
}

你能解释一下你想要达到什么目的吗?嗨@pkjha,我可以知道你得到了什么错误,这样我们就可以理解是什么导致了这个错误吗?我有一个字符串,某个值|其他值。我需要把这两个放在不同的牢房里。因此,我正在尝试拆分它,以便两者都可以使用。@DeekshaMulgaonkar,当然,错误是无法读取undefinedPlease的属性“toString”,请在代码中包含生成该错误的位置和错误,并解释您希望发生的情况。