isActive测试routeparam路径,如:angularjs / app / index.php#/ pages-editmenus / 36
我的index.php
<li ng-class="{ active : isActive('/pages-menus') || isActive('/pages-addmenus') || isActive('/pages-editmenus/{{lpath}}')}"><a href="#pages-menus"> Menus</a></li>
其中lpath是控制器中的$ routescope变量
$rootScope.lpath = $routeParams.id;
即使对于id 36,index.php替换为:
<li ng-class="{ active : isActive('/pages-menus') || isActive('/pages-addmenus') || isActive('/pages-editmenus/36')}"><a href="#pages-menus"> Menus</a></li>
但它没有添加类意味着条件是假的。
当我尝试使用静态值(例如:36)而不是lpath
时,它可以正常工作。
那么什么可以在这里扭曲?
答案 0 :(得分:0)
您将变量放在$rootScope
中,不能在页面中使用它。
我认为在您的情况下,最好的选择是将其移至$scope
:
$scope.lpath = $routeParams.id;
否则,您可以影响范围$rootScope.lpath
:
$scope.lpath = $rootScope.lpath;
我猜isActive('/pages-editmenus/{{$rootScope.lpath}}')
也应该有效,但我没有尝试过。
我更喜欢avoiding using $rootScope
。