Угловая разрезная струна на трубе и использование обеих струн - PullRequest
0 голосов
/ 28 ноября 2018

Требование: У меня есть строка, разделенная с помощью трубы, как эта - «некоторое значение | другое значение».Мне нужно разделить его на трубе и использовать оба значения.Итак, я пытаюсь добиться этого в шаблоне, как показано ниже.

{{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'}}

1 Ответ

0 голосов
/ 28 ноября 2018

Вы неправильно получаете параметры в своей трубе.Они не являются массивами:

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';
    }
  }
}
...