缩短Angular JS中的字符串

时间:2014-08-06 22:46:25

标签: angularjs

我有多个超过40个字符的标题。我想将它缩短为40个字符并添加...如果有更多字符。

我想做这样的事情但是在角度js:

if ( title.length > 40){
title = title.substring(0, 40) + '...'
}

2 个答案:

答案 0 :(得分:2)

我建议创建一个角度滤镜,如下所示:

angular.module("myApp", [])
.filter('ellipsis', function () {
    return function (input, chars) {
        return input.length > chars ? input.substring(0, chars) + '...' : input;
    };
});

function myCtrl($scope) {
    $scope.text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed interdum urna vitae nisl volutpat mattis.";
}

用法示例:

<div ng-controller="myCtrl">
    {{ text | ellipsis:40 }}
</div>

http://jsfiddle.net/rd13/KLDEZ/4/

答案 1 :(得分:0)

如果你正在寻找一些更多的东西&#39; angular-y&#39;您可以编写一个过滤器,允许您在模板中使用它:

{{title | shorten:25}}!

这是一个超级基本fiddle的例子。您可能希望添加一些错误捕获,测试等: