对象中的AngularJS ng-repeat ng-show数组

时间:2016-01-19 08:19:42

标签: javascript arrays angularjs

我有一个数组数组,需要能够按顺序排序和放置

我的问题是按顺序排序对象和包含两者都在数组内的信息的数组,我的方法是使用

<a ng-repeat="s in stops | orderBy:'+train_routes[0].stop_seq'"
ng-show="s.train_routes[0].route_id.indexOf('5') > -1">

因为我有很多数据,而且我不想组织它,因为它会变得更大并且崩溃

我知道问题是 [0] ,但我不知道其他任何方式

我希望它显示包含info

的数组的对象

此作品

    ng-show="s.train_routes[0].route_id.indexOf('6') > -1"

这不起作用

    ng-show="s.train_routes[0].route_id.indexOf('5') > -1">

http://plnkr.co/edit/MbjKKtTbs3EgO6a4WCRL?p=preview

EDITED 让我们说用户想要查看特定的列车路线,它必须显示该列车线路上的所有站点,并显示与用户请求链接的其他可用列车。

 ng-show="train_routes[0].IndexOf('requestedroute')"

仅显示0索引是否与请求的路由匹配。

如果数组包含请求的路径

,我希望它显示每个索引中的所有值

1 个答案:

答案 0 :(得分:3)

您可以使用Angular filters,这样就不会在DOM中附加无用的元素。

在视图中:

<a ng-repeat="s in stops | filter: avoid5 | orderBy:'+train_routes[0].stop_seq'">

在控制器中:

$scope.avoid5 = function(value, index, array){
   return value.train_routes[0].route_id.indexOf('5') > -1;
}