【发布时间】:2018-06-01 18:27:38
【问题描述】:
我正在处理 Angular 中的截断管道,我的代码可以将文本截断指定长度的 35 个单词,但它目前正在截断为 35 个字符....
html:
<p *ngIf="item.description.length > 0"><span class="body-12-bold">Description: </span><span>{{ description | truncate:[35] }}</span></p>
转换管道:
@Pipe({name: 'truncate'})
export class TruncatePipe implements PipeTransform {
constructor(private item: SearchEntry, private config: ConfigService) { }
transform(value: string, args: string[]): string {
const limit = args.length > 0 ? parseInt(args[0], 10) : 20;
const trail = args.length > 1 ? args[1] : '...';
return value.length > limit ? value.substring(0, limit) + trail : value;
}
}
【问题讨论】:
-
欢迎来到 SO!您能否将代码示例缩减到尽可能小的大小以演示您遇到的问题?删除方法和其他功能以突出显示您遇到的问题。
-
为什么要让组件类成为一个组件和两个管道?您链接的问题当然不推荐这样的东西。难怪这不能按预期工作。只需将它们设为不同的类即可。
-
@mlapaglia 完成了。
-
@estus 因为我需要两个不同的管道。
-
你需要有 3 个不同的类。 1 为一个组件。 2 用于管道。
标签: angular typescript