用AngularJS限制字符串的长度

我有以下:

<div>{{modal.title}}</div>

有没有办法,我可以限制字符串的长度说20个字符?

一个更好的问题是有一种方法,我可以更改字符串被截断,如果超过20个字符,结束时显示…?

编辑
最新版本的AngularJSoffers limitTo filter

你需要一个自定义过滤器,像这样:

angular.module('ng').filter('cut', function () {
        return function (value, wordwise, max, tail) {
            if (!value) return '';

            max = parseInt(max, 10);
            if (!max) return value;
            if (value.length <= max) return value;

            value = value.substr(0, max);
            if (wordwise) {
                var lastspace = value.lastIndexOf(' ');
                if (lastspace != -1) {
                  //Also remove . and , so its gives a cleaner result.
                  if (value.charAt(lastspace-1) == '.' || value.charAt(lastspace-1) == ',') {
                    lastspace = lastspace - 1;
                  }
                  value = value.substr(0, lastspace);
                }
            }

            return value + (tail || ' …');
        };
    });

用法:

{{some_text | cut:true:100:' ...'}}

选项:

> wordwise(boolean) – 如果为true,只能通过单词bounds,
> max(integer) – 文本的最大长度,剪切成这个字符数,
> tail(string,default:’…’) – 将此字符串添加到输入
      string如果字符串被剪切。

另一种解决方案:http://ngmodules.org/modules/angularjs-truncate(by @Ehvince)

翻译自:https://stackoverflow.com/questions/18095727/limit-the-length-of-a-string-with-angularjs

转载注明原文:用AngularJS限制字符串的长度