关于项目::如果angularjs JavaScript在回路中的位置,然后输出一个特定的类

AngularJS: if item in loop equals current location then print specific class

本问题已经有最佳答案,请猛点这里访问。

我有以下代码:

1
2
3
4
5
6
7
8
9
10
<ul ng-init="urls = ['/home', '/news', '/contactUs']">
<li ng-repeat="url in urls>

{{url}}


</li>


</ul>

对于ng-repeat循环中的每个标记,如果{{url}}等于window.location.href.split('?')[0],那么我想打印该标记的当前页面类。否则,不应显示。简单来说,我想要这样的东西:{{url || if(url == window.location.href.split('?')[0])}}

安古拉吉斯有可能吗?那怎么办呢?


如果你有['example.com/home', 'example.com/news', 'example.com/contactUs'],那么我建议:

1
= 0 }">{{url}}

但如果你有['/home', '/news', '/contactUs'],这就足够了:

1
= 0 }">{{url}}

以你的示例urls为例,我认为这更好,因为href将包括方案("https"),因此不会出现匹配项。

当然,如果更合适的话,您可以用精确匹配的方法替换indexOf(...)

它利用了这样一个事实:ng-class可以接受从潜在类('current-page')到表达式的映射,这些表达式在计算后被强制为布尔值(例如indexOf(...))。看看这些文档。