如何在 Angular 2.0.0 中制作多参数管道

How to make a multi-argument Pipe in Angular 2.0.0

我正在尝试实现截断管道:

import { Pipe, PipeTransform } from '@angular/core'

@Pipe({ name: 'truncate' })
export class TruncatePipe implements PipeTransform {
    transform(value: string, amount: number, truncateChar: string) : string {
        console.log("amount", amount);
        console.log("truncateChar", truncateChar);
        let limit = amount ? amount : 10;
        let trail = truncateChar ? truncateChar : '...';
        return value.length > limit ? value.substring(0, limit) + trail : value;
    }
}

不知何故,在我的模板中,它总是为 truncateChar 打印 undefined,尽管它确实选择了 amount

在我的模板中,我尝试了以下语法(轮流使用):

{{ item.name | truncate: 20 : "a" }}
{{ item.name | truncate: 20 : 'a' }}
{{ item.name | truncate: 20 : a }}

我如何使用多个参数(最大字符数和可选的尾随字符)来实现它?

我刚刚测试了你的 pipe,这对我来说非常有效:

{{ name | truncate: 20 : 'c' }}

在控制台中我得到:

amount 20

truncateChar c

您的问题可能出在其他地方。