我正在尝试根据网址中的当前位置突出显示导航栏上的选定链接。为此,我在导航栏 Controller 中编写了以下函数:
$scope.isActive = function(route) {
return route === $location.path();
};
在 html 中我有这个:
<li ng-class="{active: isActive('/admin')}"><a href="/admin">Admin</a></li>
这对于简单的 url 效果很好,但对于带有 id 和子路径的 url 效果不佳。我的意思是,如果我将 url 作为“item/:id”,它在 isActive 函数中不匹配并且不会突出显示,我也想突出显示相同的 li
对于多个子路线,如 item
菜单应突出显示 items
& items/:id
& items/my
。知道如何实现这一目标吗?
最佳答案
试试这个
<li ng-class="{isActive('/admin')? 'active' : ''}"><a href="/admin">Admin</a></li>
或
$scope.getActiveClass = function(route) {
return (route === $location.path())? 'active' : '';
};
//in directive
<li ng-class="getActiveClass ('/admin')"><a href="/admin">Admin</a></li>
关于javascript - Angular 路线和事件链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27182114/