gpt4 book ai didi

javascript - 如何使用 AngularJS 限制字符串的字符数

转载 作者:行者123 更新时间:2023-12-04 17:21:00 25 4
gpt4 key购买 nike

我想限制“ng-repeat”显示 JSON 数据时显示的字符数。此应用程序在 RoR 框架内使用 AngularJS。目前我有以下代码显示每个“item.description”但不将字符串中的字符数限制为 25 个长度。

HTML:

<div ng-controller="MyController">
<ul>
<li ng-repeat="item in artists">
{{item.description | limitTo:25}}
</li>
</ul>
</div>

Controller :

var myApp = angular.module('myApp', []);

myApp.controller("MyController", function MyController($scope, $http){
$http.get("/assets/data.json").success(function(data){
$scope.artists = data;
});

我还尝试将“limitTo:”选项放在“ng-repeat”中,但这限制了显示的“item.description(s)”的数量,并且没有限制字符串/内容。我按照以下说明解决了这个问题:https://docs.angularjs.org/api/ng/filter/limitTo

最佳答案

有更好的方法来做到这一点

stringprototype object添加一个属性, chop 一个字符串

/**
* extends string prototype object to get a string with a number of characters from a string.
*
* @type {Function|*}
*/
String.prototype.trunc = String.prototype.trunc ||
function(n){

// this will return a substring and
// if its larger than 'n' then truncate and append '...' to the string and return it.
// if its less than 'n' then return the 'string'
return this.length>n ? this.substr(0,n-1)+'...' : this.toString();
};

这就是我们在 HTML

中使用它的方式
.....
<li ng-repeat="item in artists">
// call the trunc property with 25 as param
{{ item.description.trunc(25) }}
</li>
.....

这是一个DEMO

关于javascript - 如何使用 AngularJS 限制字符串的字符数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32935332/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com