2017-01-04 21 views
1

ようrouteparamパスをテストするためのisActive:angularjs /アプリ/ index.phpを#/ページ-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もID 36用のコントローラ

$rootScope.lpath = $routeParams.id; 

で$ routescope変数であるindex.phpのように置き換えます

しかし、クラスを追加しなかったということは、条件がfalseであることを意味します。 lpathの代わりに静的な値(例:36)を試してみるとうまくいきます。 ここに何が書いてありますか?

答えて

0

変数を$rootScopeに設定すると、ページ内でこのように使用することはできません。

私はあなたのケースで最良のオプションは$scopeに移動するだろうと思う:

$scope.lpath = $routeParams.id; 

をそうしないと、あなたはあなたのスコープに$rootScope.lpathに影響を与えることができます。

$scope.lpath = $rootScope.lpath; 

私はisActive('/pages-editmenus/{{$rootScope.lpath}}')を推測しますうまくいくはずですが、私は試していませんでした。 私はavoiding using $rootScopeを好んでいます。

関連する問題