在达到最大长度后,AngularJS换行

Wat*_*tte 2 javascript angularjs

ng-repeat用来填表.有些元素的长度很长,如果达到特定的长度,我正在寻找一种将内容切割成多行的方法.

在研究期间,我发现了Angulars limitTo,但它看起来并不像我在寻找.

例如hi i'm a long description and oh, a package (org.foo.awesome.stuff)应该转换成hi i'm a long description and oh,'
a package (org.foo.awesome.stuff)

非常感谢提前.

Bre*_*nan 6

编写自定义过滤器:

angular.module('filters', []).filter('lineBreaker', function() {
  return function(input, breakLength) {
    var newString = "";
    for (var i = 0; i < input.length; i++) {
      newString = newString+input[i];
      if (i%breakLength == 0) {
        newString = newString+"\n";
      }
    }
    return newString;
  };
});
Run Code Online (Sandbox Code Playgroud)

被称为:

{{ expression | lineBreaker: 10 }}
Run Code Online (Sandbox Code Playgroud)

我确信有一种更高效的方法可以做到这一点,但它会完成工作.

  • 您应该将长度设置为过滤器的变量,以鼓励重用. (2认同)