添加三个点到ngbind
Add three dots to ngbind
我有一个这样的字符串:
<a href="#" ng-bind="::MyString | limitTo:40"></a>
但是我需要在长度超过40的字符串后添加三个点,我该怎么做?
如前所述,您应该使用CSS来实现这一点。这将确保您的数据不被更改,并保持UI美观。
每个字符都有不同的宽度。最好检查字符的总宽度,而不是长度。
.limit {
width: 200px;
text-overflow: ellipsis;
}
.ellipsis {
overflow: hidden;
text-overflow: ellipsis;
width: 100px;
white-space: nowrap;
}
<input type="text" class="limit">
<div class="ellipsis">
<a href="#">This is a test for ellipsis using CSS</a>
</div>
这是用ES6写的,但是这个过滤器可以让你做你需要的:
import * as _ from 'lodash';
/* @ngInject */
export default () => (input, length) =>
_.size(input) > length ?
`${input.slice(0, length)}...` : input;
然后你可以使用它作为过滤器:
<span data-ng-bind="foo | ellipsis-filter: 20">
限制为20个字符,为您添加省略号
如果你想在模板中解决这个问题而不自己创建过滤器,你可以这样做:
<a href="#" ng-bind="(MyString | limitTo:40) + (MyString.length > 40 ? '...' : '')"></a>
没有创建自己的过滤器那么花哨,但应该可以达到目的。
相关文章:
- 为什么grunt contrib connect的中间件选项的第三个参数是未定义的
- 如何使用PHP和JS级联三个下拉列表
- 灯光问题(使用三个.js)
- 在三个.js中创建球体(例如地球)的磁力线
- 什么'这是从第三个函数上的async 1st函数获得结果的更好方法
- javascript第三个XMLHttpRequest被拒绝.但前两个是允许的
- 将循环中的两个文本框相乘,并在第三个文本框上显示结果
- 根据前两个下拉ID显示第三个下拉列表
- 在数组JS中查找三个重复项
- Meteor和S3:如何通过一次上传/编辑定义三个不同的图像
- 如何替换javascript字符串中的前三个连字符
- 保存两个模型(属于第三个模型)和一个提交
- 将文本字段限制为三个数字
- 三个js键盘旋转
- 匹配三个正则表达式中的任意一个,以先到的为准(在javascript中)
- 加载模型与三个.js
- 连续三个检查宾果游戏
- 我需要帮助查找我的JavaScript小游戏中的错误(三个我没有得到的错误)
- 如何在导入的 Collada 模型上使用 EdgesHelper 在三个.js.
- 添加三个点到ngbind