Maison > Questions et réponses > le corps du texte
数据存在一个数组里面,需要把这些数据显示到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"
}
]
为情所困2017-05-15 16:53:55
Reposté depuis le filtre - Limiter la longueur d'une chaîne avec AngularJS - Stack Overflow
Écrire un filtre :
js
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) { value = value.substr(0, lastspace); } } return value + (tail || ' …'); }; });
Utilisation :
{{some_text | cut:true:100:' ...'}}
Paramètres :
Méthode de coupe (booléenne) - Si vrai, seuls les caractères uniques seront coupés.
length (entier) - Le nombre maximum de mots à conserver.
suffixe (chaîne, par défaut : '…') - ajouté à la fin du mot.
Ou utilisez simplement celui écrit par d'autres : démo angulaire-tronquée
过去多啦不再A梦2017-05-15 16:53:55
L'API officielle est https://docs.angularjs.org/api/ng/filter/limitTo
Exemple de modèle HTML :
Numéros de sortie : {{ nombres | limitTo:numLimit }}
为情所困2017-05-15 16:53:55
Résolvons-le directement avec CSS. Trois attributs sont nécessaires, ce qui signifie pas de retour à la ligne, cacher la partie en excès et afficher des points de suspension dans la partie en excès
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
迷茫2017-05-15 16:53:55
Personnalisez le filtre angulaire js pour couper les longues chaînes et ajouter des ellipses : http://www.jscssshare.com/#/sample/e6ao1zeH