我正在使用以下代码:
<li class="sidebar-list-item"><a ng-class="getClass('/dashboardHome')" href="/dashboardHome" class="sidebar-link text-muted"><i class="o-home-1 mr-3 text-gray"></i><span>Home</span></a></li>
$scope.getClass = function (path) {
console.log("Path: "+path);
return ($location.path().substr(0, path.length) === path) ? 'active' : '';
}
在控制台上,我得到:路径:/ dashboardHome
但它不起作用。
答案 0 :(得分:1)
如果使用ui-sref
,请这样做。
ui-sref-active="active" ui-sref="home.dashboard.dashboardHome"
您不需要使用ng-class
和getClass函数。
ui-sref-active-eq:
ui-sref-active-eq指令在以下情况下应用CSS类: ui-sref / ui-state的目标状态直接处于活动状态(不是在子状态时 状态有效)。这是“完全匹配”,它使用 StateService.is。 -ui-router.github.io
如果您不想在子路由处于活动状态时激活parent
路由,请对父路由使用ui-sref-active-eq="active"
。