Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Angularjs中使用过滤器的子字符串?_Javascript_Angularjs - Fatal编程技术网

Javascript Angularjs中使用过滤器的子字符串?

Javascript Angularjs中使用过滤器的子字符串?,javascript,angularjs,Javascript,Angularjs,我想要在DOM中使用Angularjs和一些过滤器来处理以下数组 $scope.urls = [{ path: 'http://a.com/index' }, { path: 'http://a.com/home' }, { path: 'http://a.com/etc' }, { path: 'http://a.com/all' }]; 我曾尝试使用过滤器对路径进

我想要在DOM中使用Angularjs和一些过滤器来处理以下数组

$scope.urls = [{
    path: 'http://a.com/index'        
    }, {
     path: 'http://a.com/home'        
    }, {
    path: 'http://a.com/etc'        
    }, {
    path: 'http://a.com/all'        
   }];
我曾尝试使用过滤器对路径进行子串,但它不起作用

任何帮助都很好。

试试这个:

HTML

<div ng-controller = "fessCntrl"> 
  <h1>Only path without domain name:</h1>
        <ul>
            <li ng-repeat="url in urls | myCustomFilter">{{url.path}}</li>
        </ul>
</div>
演示

作为旁注:


尝试从控制器中写入筛选器

AngularJS v 1.4.5支持使用参数长度和偏移量对数组(包括字符串)进行标准的“Limito”过滤器:

<div ng-controller = "SampleController"> 
  <h1>Result of substring equivalent filter:</h1>
        <ul>
            <li ng-repeat="url in urls">{{url.path | limitTo:5:12}}</li>
        </ul>
</div>

子串等效滤波器的结果:
  • {{url.path|limito:5:12}
注意:如果是动态域长度(“静态长度为12”),此解决方案将失败

注2:将长度增加到路径的最大结果长度(最大值是长度为5的“索引”)


AngularJS开箱即用支持。

是否要获取输出:索引、主页等?
<div ng-controller = "SampleController"> 
  <h1>Result of substring equivalent filter:</h1>
        <ul>
            <li ng-repeat="url in urls">{{url.path | limitTo:5:12}}</li>
        </ul>
</div>