angularjs 自定義過濾器控制文字的長度,多餘字元用省略號代替
阿新 • • 發佈:2019-02-17
今天在工作中,碰到了一個問題,在表格當中,文字的長度太長,導致整個表格拉長了很多,當給表格中td設定固定寬度的時候就會換行,顯得頁面比較醜,所以想到了把超出表格寬度部分的文字隱藏掉。於是就想到了用自定義過濾器的辦法,濾掉多餘的文字,搜尋了一下,有大神的例子做參考,具體的使用方法如下:
html頁面:
<td>{{subject.name|textLengthSet:true:20:'...'}}</td>
js:
var app = angular.module('CcxiApp', []);
app.filter('textLengthSet', 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) {
value = value.substr(0, lastspace);
}
}
return value + (tail || ' …');//'...'可以換成其它文字
};
});