我有以下代码:
image_picker
对于$("body").on("click", ".quickview-modal", function() {
$(this).css('display','none');
$(this).parent().closest('.carousel-inner').css('overflow','hidden');
});
循环中的每个<ul ng-init="urls = ['/home', '/news', '/contactUs']">
<li ng-repeat="url in urls>
<a class="current-page" href="{{url}}">
{{url}}
</a>
</li>
</ul>
标签,如果<a>
等于ng-repeat
,那么我想为该{{1}打印当前页面类} 标签。否则,不应显示它。
简单来说,我想要这样的东西:{{url}}
AngularJS是否有可能?那怎么办?
答案 0 :(得分:0)
如果您有['example.com/home', 'example.com/news', 'example.com/contactUs']
,我建议这样做:
<a ng-class="{ 'current-page': (window.location.host + window.location.pathname).indexOf(url) >= 0 }">{{url}}</a>
但是如果您有['/home', '/news', '/contactUs']
,那就足够了:
<a ng-class="{ 'current-page': window.location.pathname.indexOf(url) >= 0 }">{{url}}</a>
考虑到您的示例urls
,我认为这样做会更好,因为href
也将包含方案(例如'https'),因此不会弹出匹配项。
如果更合适,您当然可以用完全匹配替换indexOf(...)
。
它利用了一个事实,即ng-class
可以将映射从潜在类('current-page'
)转换为在求值后被强制转换为布尔值的表达式(例如indexOf(...)
表达式)。参见these docs。