1. 程式人生 > >angularjs 自定義過濾器控制文字的長度,多餘字元用省略號代替

angularjs 自定義過濾器控制文字的長度,多餘字元用省略號代替

今天在工作中,碰到了一個問題,在表格當中,文字的長度太長,導致整個表格拉長了很多,當給表格中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 || ' …');//'...'可以換成其它文字 }; });