条件为 angular js 的 ng-repeat 过滤器
ng-repeat filter with condition angular js
这是我的代码:
<option ng-repeat="name in names" value="{{names.name}">
{{names.name | limitTo:10 }}
</option>
如何添加条件:
if( names.name.length > 10) {
//add ... point after name displayed
}
得到结果<option value="Alexander Bradley">Alexander ... </option>
有什么想法吗?
您可以创建自己的过滤器来执行此操作,并根据需要包含长度参数。
.filter("ellipses", function () {
return function (item) {
if (item.length > 10) {
return item.substring(0, 10) + " ..."
}
return item;
};
});
<option ng-repeat="name in names" value="{{names.name}">
{{names.name | ellipses }}
</option>
您也可以包含长度参数,甚至可以使用 limitTo
本身:
.filter("ellipses", ["$filter", function ($filter) {
return function (item, limit) {
if (item.length > limit) {
return $filter("limitTo")(item, limit) + " ...";
}
return item;
};
}]);
我认为这就是您要求的。将名称限制为 10 个字符,如果超过 10 个字符,则在其末尾添加“...”。我就是这样做的。 (还修复了一些语法错误)。
<option ng-repeat="name in names" value="{{name}}">
{{name.length <= 10 ? name : name.substring(0, 10) + "..."}}
</option>
这是我的代码:
<option ng-repeat="name in names" value="{{names.name}">
{{names.name | limitTo:10 }}
</option>
如何添加条件:
if( names.name.length > 10) {
//add ... point after name displayed
}
得到结果<option value="Alexander Bradley">Alexander ... </option>
有什么想法吗?
您可以创建自己的过滤器来执行此操作,并根据需要包含长度参数。
.filter("ellipses", function () {
return function (item) {
if (item.length > 10) {
return item.substring(0, 10) + " ..."
}
return item;
};
});
<option ng-repeat="name in names" value="{{names.name}">
{{names.name | ellipses }}
</option>
您也可以包含长度参数,甚至可以使用 limitTo
本身:
.filter("ellipses", ["$filter", function ($filter) {
return function (item, limit) {
if (item.length > limit) {
return $filter("limitTo")(item, limit) + " ...";
}
return item;
};
}]);
我认为这就是您要求的。将名称限制为 10 个字符,如果超过 10 个字符,则在其末尾添加“...”。我就是这样做的。 (还修复了一些语法错误)。
<option ng-repeat="name in names" value="{{name}}">
{{name.length <= 10 ? name : name.substring(0, 10) + "..."}}
</option>