如何在 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
您的问题可能出在其他地方。
我正在尝试实现截断管道:
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
您的问题可能出在其他地方。