我有以下几点:
<div>{{modal.title}}</div>
有没有一种方法可以限制字符串的长度,比如20个字符?
一个更好的问题是,有没有一种方法可以将字符串更改为截断并显示。如果超过20个字符?
我有以下几点:
<div>{{modal.title}}</div>
有没有一种方法可以限制字符串的长度,比如20个字符?
一个更好的问题是,有没有一种方法可以将字符串更改为截断并显示。如果超过20个字符?
当前回答
<div>{{modal.title | slice: 0: 20}}</div>
其他回答
在html中,它与angular自身提供的limitTo过滤器一起使用,如下所示:
<p> {{limitTo:30 | keepDots }} </p>
filter keepDots:
App.filter('keepDots' , keepDots)
function keepDots() {
return function(input,scope) {
if(!input) return;
if(input.length > 20)
return input+'...';
else
return input;
}
}
我知道这有点晚了,但在angularjs的最新版本(我使用的是1.2.16)中,limitTo过滤器支持字符串和数组,所以你可以像这样限制字符串的长度:
{{ "My String Is Too Long" | limitTo: 9 }}
它将输出:
My String
我使用了一套非常有用的滤镜库“Angular-filter”,其中一个叫做“truncate”的也很有用。
https://github.com/a8m/angular-filter#truncate
用法是:
text | truncate: [length]: [suffix]: [preserve-boolean]
< div >{{modal.title | limitTo:20}}...< / div>
我也遇到过类似的问题,我是这样做的:
{{ longString | limitTo: 20 }} {{longString.length < 20 ? '' : '...'}}