如何根据当前路由名称/控制器设置类

Chr*_*all 28 routes angularjs

尝试根据我当前的控制器或当前路径(URL Segment 1)设置一个类.

就像是

<body class="{{controllerName}}">
Run Code Online (Sandbox Code Playgroud)

这样,如果我需要针对CSS特异性定位单独的页面,它就会变得容易.

Val*_*nov 33

我的解决方案是:在路由范围订阅路由更改并将控制器的名称放在那里:

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

检查Plunker解决方案

  • 它的数据.在1.0.7中的$$ route.controller (12认同)

pav*_*lgj 5

您可以使用$ route服务,它具有current将为您提供当前控制器的属性.

  • 这在`.run()`中不可用. (2认同)