仅在其长度等于字母数时才剪切文字时如何添加...?

时间:2018-10-22 18:38:09

标签: javascript angular typescript pipe truncate

剪切文本时,如果长度恰好为14个字母,我想添加“ ...”,如果较小,则剪切时不添加“ ...”。如何实施?

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

@Pipe({
    name: 'truncate'
})

export class TruncatePipe implements PipeTransform {
    transform(value: string, limit = 14, completeWords = false, ellipsis = '...') {
        if (completeWords) {
            limit = value.substr(0, limit).lastIndexOf(' ');
        }
            return `${value.substr(0, limit)}${ellipsis}`;
    }
}
<p>{{pic.title | truncate}}</p>

1 个答案:

答案 0 :(得分:3)

    transform(value: string, limit = 14, completeWords = false, ellipsis = '...') {
    if (completeWords === true && value.length > limit) {
       return value.substring(0, limit).concat(ellipsis);
    }
    return value; // basiclly do nothing.
}

然后

<p>{{pic.title | truncate:'15':true}}</p>