28

現在のコントローラーまたは現在のルート(URLセグメント1)に基づいてクラスを設定しようとしています。

何かのようなもの

<body class="{{controllerName}}">

そうすれば、CSSの特異性のために別々のページをターゲットにする必要がある場合に、それが簡単になります。

4

4 に答える 4

33

私の解決策は次のとおりです。ルートスコープでルート変更をサブスクライブし、そこにコントローラーの名前を入力します。

app.run(function($rootScope) {
   $rootScope.$on('$routeChangeSuccess', function(ev,data) {   
     if (data.$route && data.$route.controller)
       $rootScope.controller = data.$route.controller;
   })
});

プランカー ソリューションの確認

于 2013-01-08T17:48:23.770 に答える
5

$ routeサービスを使用できますcurrent。これには、現在のコントローラーを提供するプロパティがあります。

于 2013-01-08T17:13:58.667 に答える
2

Angular のバージョン 1.3 では、次のコードを使用できます。

$rootScope.$on('$routeChangeSuccess', function (ev, data) {
    if (data.$$route && data.$$route.controller)
        $rootScope.controller = data.$$route.controller;
});
于 2014-05-05T15:22:07.133 に答える