要求: 我有这样一个用管道分隔的字符串-“某些值|其他值”。我需要在管道上拆分它并使用两个值。因此,我正在尝试在如下模板中实现它。
{{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'}}
答案 0 :(得分:1)
您没有在管道中正确获取参数。它们不是数组:
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';
}
}
}