Modifier La dernière version de AngularJS
offre limitTo
filtre .
Vous avez besoin d'un filtre personnalisé comme ça :
angular.module('ng').filter('cut', 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) {
//Also remove . and , so its gives a cleaner result.
if (value.charAt(lastspace-1) === '.' || value.charAt(lastspace-1) === ',') {
lastspace = lastspace - 1;
}
value = value.substr(0, lastspace);
}
}
return value + (tail || ' …');
};
});
Utilisation :
{{some_text | cut:true:100:' ...'}}
Options :
- wordwise (booléen) - si vrai, coupe seulement par les limites des mots,
- max (entier) - longueur maximale du texte, coupée à ce nombre de caractères,
- tail (chaîne, par défaut : ' ') - ajoute cette chaîne à la chaîne d'entrée d'entrée si la chaîne a été coupée.
Une autre solution : http://ngmodules.org/modules/angularjs-truncate (par @Ehvince)
3 votes
jsfiddle.net/tUyyx