在ng重复中剪切对象参数的字符串长度
cut string length of object parameter in ng-repeat
我有一个对象列表,其中所有参数都使用ng repeat显示在表中。
有时,对象的"标题"参数会很长,因此会使表在某些位置拉伸。我尝试过使用filter,但我认为这会截断表中显示的行,而不是随机对象参数的字符。
有没有办法把这个标题缩短到一定的长度,然后在结尾加上"…"?如果之前有人问过这个问题,我很抱歉,但我的研究没有找到我需要的答案。
您可以编写一个javascript函数来强制设置文本的最大长度:
$scope.forceMaxLength = function(s, maxLength) {
if(s.length > maxLength) {
return Array.prototype.slice.apply(s, [0, maxLength-3]).join('') + '...';
} else {
return s;
}
}
现在你可以在你的角度模板中使用这个:
<div ng-repeat="item in items">
<h3>{{ forceMaxLength(item.title, 25) }}</h3>
</div>
话虽如此,在css中使用text-overflow: ellipsis;
可能是一个更好的解决方案。
原因是文本的宽度由每个字符的宽度之和组成,并且字符宽度可能会有所不同。
这两个字符串都有三十四个字符:
iiiiiiiiii
mmmmmmmmmm
如果您想截断这些字符串,使其适合给定的宽度,您会希望截断点位于相应字符串中的不同位置。
相关文章:
- 从查询字符串参数推断出正确的数据类型
- 如何使用JQuery在HTML中创建包含字符串参数的引号的onclickjavascript链接
- 从带参数的字符串变量调用函数中的函数
- Javascript:用while循环在给定的count参数中重复一个字符串
- 如何格式化match()参数以定位电子邮件中的字符串
- 将JSON字符串转换为函数参数
- 如何用javascript替换Jquery字符串上的新参数
- 模版启动错误-类型错误(“参数”url'必须是字符串,而不是“+类型的url”)
- 在 URL 字符串中传递参数字符串
- 如何在附加的 html 中的字符串上连接 javascript 函数中的参数字符串
- jQuery:从参数字符串设置表单状态
- 使用 cookie 传递 URL 参数字符串
- 寻找一个正则表达式来解析 JS 的参数字符串
- 有必要限制node.js中GET请求参数字符串的大小吗
- 使用jquery获取javascript中的参数字符串
- 使用JavaScript更改url参数字符串
- 如何在提交GET表单后将变量插入到生成的url参数字符串中
- JavaScript:向JavaScript函数发送以逗号分隔的参数字符串
- 无法通过XMLHttpRequest发送参数字符串
- 从Javascript中获取url参数字符串