数据存在一个数组里面,需要把这些数据显示到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"
}
]
写一个 filter:
使用方式:
{{some_text | cut:true:100:' ...'}}
参数:
切字方式 (布林) - 如果是 true,只切单字。
长度 (整数) - 要保留的最大字数。
后辍 (字串,默认:'…') - 接在字词的后面。
或者直接用别人写好的:angular-truncate 演示
官方有 api https://docs.angularjs.org/api/ng/filter/limitTo
例子 html 模板中:
Output numbers: {{ numbers | limitTo:numLimit }}
直接css解决吧,需要3个属性,分别表示不换行、超出部分隐藏、有超出部分显示省略号
自定义angularjs filter剪裁长字符串,加上省略号,演示地址:http://www.jscssshare.com/#/sample/e6ao1zeH