AngularJS のヘルプをもう一度お願いします。レイアウト (マスター) ページが左側のナビゲーション バー、中央のコンテンツ、右側のアイテム リスト バーの 3 つのセクションに分割されている SPA を構築しています。ホームページをロードすると右側のアイテム リストが非表示になりますが、残りの画面では表示されるはずです。homeController に $rootScope 変数を作成し、ロケーション パスに基づいて値を「true」に設定し、テンプレートでその変数を使用して値を ngHide に設定しました。SPA を使用しているときに別のページに移動すると、左右のバーが再度読み込まれず、新しいビューである中央のコンテンツのみが読み込まれます。データを新しいビューのテンプレートに送信しているコントローラーに新しいビューをロードしている間、homeController で作成した $rootScope 変数を「false」ですが、右のバーはまだ表示されていません。補間によって値が「true」に更新されましたが、ng-hidden クラスがまだオンになっていることがわかりました。どんな提案でも大歓迎です。
レイアウト ページからのマークアップ:
<aside class="right_bar" ng-hide="{{$root.show}}">
<div class="my-list"><span class="f3">My Cart</span><div class=""><span class="list-count">0</span></div></div><div class="list-item"><ul></ul></div>
</aside>
homeController コード:
function getHomeConfigsCtrl($http, $location, $rootScope) {
$rootScope.show = false;
var loc = $location.path();
if (loc === '/Home/Index' || loc ==='')
{
$rootScope.show = true;
}
}
カテゴリ コントローラ コード: ここで $rootScope 変数の値をリセットしています
function getAllCategoryDetails($routeParams,$rootScope) {
$rootScope.show = false;
}