
文字列を省略するカスタムフィルター
最近はテキストを…で省略する場合はCSSが使用されることが多いがCSSでは文字数によって…を省略することはできないため、この場合はフロントエンド側で処理する場合はJavaScriptがいまでも使用される。
使い方
{{test | abbreviate:5}}のようにabbreviateと何文字を超えたときに…で省略するかを指定する。
コード
angular.module('myApp', [])
.filter('abbreviate', function () {
return function (text, len, end) {
if (len === undefined) {
// デフォルトは10文字
len = 10;
}
if (end === undefined) {
end = "…";
}
if(text !== undefined) {
if(text.length > len) {
return text.substring(0, len - 1) + end;
}
else {
return text;
}
}
};
});
