截断过滤器以缩短URL

时间:2014-08-21 22:26:01

标签: angularjs filter truncate

我有一个ng-repeat,它在输入文本框中显示一堆长URL路径。

<div ng-repeat = path in paths>
    <input type="text" value="{{path}}"> 
</div>

路径看起来像这样

endpoint:8000/foo/foo/foo/charlie1.file

我只想显示charlie1.file部分

我可以用正则表达式做到这一点,我甚至成功地创建了一个函数,将其拆分为路径,将其反转,然后执行for循环,将每个字符推送到数组,捕获第一个“/”然后中断函数,然后重新扭转它。然后我必须使用这种分离/反向功能在我的api调用中遍历每个路径,这很麻烦。

在没有一堆for循环的情况下,是否有更简单的方法来过滤/截断角度来实现这一目标?

1 个答案:

答案 0 :(得分:1)

您可以创建一个简单的过滤器: -

 app.filter('trunc', function(){
     return function(input){
       if(!angular.isString(input)) return;
       return input.split('/').pop();
     }
 });

并做: -

 <input type="text" value="{{path | trunc}}">