数据存在一个数组里面,需要把这些数据显示到HTML页面上,目前是通过ng-repeat方式来显示。但是数组中title这一项的字符长度比较长,所以想要限制一下这段字符在HTML页面上显示时,超过指定的长度后面的内容就会以省略号的形式显示。请问要怎么样实现?
html页面:
<p ng-repeat="x in TU">
<img src="{{x.imgurl}}">
<h1>{{x.title}}</h1>
<p>{{x.cost}}</p>
</p>
数据格式如下:
$scope.TU = [{
"tuid":"xy0001",
"imgurl":"img/178.jpg",
"title":"哈哈哈哈哈哈哈哈哈",
"cost":"86"
},
{
"tuid":"xy0002",
"imgurl":"img/178.jpg",
"title":"呵呵呵呵呵呵呵呵呵呵呵呵",
"cost":"96"
},
{
"tuid":"xy0003",
"imgurl":"img/178.jpg",
"title":"嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿",
"cost":"89"
}
]
Write a filter:
How to use:
{{some_text | cut:true:100:' ...'}}
Parameters:
Word cutting method (Boolean) - If true, only single words will be cut.
length (integer) - The maximum number of words to keep.
suffix (string, default: '...') - appended to the end of the word.
Or directly use the one written by others: angular-truncate demo
The official api is https://docs.angularjs.org/api/ng/filter/limitTo
Example html template:
Output numbers: {{ numbers | limitTo:numLimit }}
Let’s solve it directly with css. Three attributes are needed, which means no line wrapping, hiding the excess part, and displaying ellipsis in the excess part
Customize angularjs filter to cut long strings and add ellipses, demo address: http://www.jscssshare.com/#/sample/e6ao1zeH