角度路线&活动链接

时间:2014-11-28 04:53:15

标签: javascript jquery angularjs angular-ui-router

我尝试根据网址中的当前位置突出显示导航栏上的选定链接。为此,我在导航栏的控制器中编写了以下功能:

$scope.isActive = function(route) {
  return route === $location.path();
};

在html中我有这个:

<li ng-class="{active: isActive('/admin')}"><a href="/admin">Admin</a></li>

这适用于简单的url,但对于具有id和子路径的url表现不佳。我的意思是,如果我有网址&#39; item /:id&#39;它在isActive函数中不匹配,并且没有突出显示,同时我想突出显示li的多个子路由,item菜单应突出显示items&amp; items/:id&amp; items/my。任何想法我怎么能实现这个目标?

1 个答案:

答案 0 :(得分:0)

试试这个

<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>