[AngularJS]:根据状态改变身体类别

时间:2015-12-08 16:20:12

标签: javascript angularjs

我想根据AngularJS上的当前状态更改body类。

E.g。如果 state1 ,那么body class="blue"; 如果 state2 ,则body class="red";

我有两种状态:

.state('app.state1', {
      url: "/state1",
      data: {
        class: blue
      },
      templateUrl: "state1.html",
      controller: "MyCtrl"
    })
    .state('app.state2', {
      url: "/state2",
      data: {
        class: red
      },
      templateUrl: "state2.html",
      controller: "MyCtrl"
    });

然后,在index.html

<body ng-app="myApp">
  <div ui-view></div>
</body>

关于如何做到这一点的任何想法?

这个答案解决了这个问题:https://stackoverflow.com/a/32574746

2 个答案:

答案 0 :(得分:0)

您可以使用ng-classhttps://docs.angularjs.org/api/ng/directive/ngClass

<body ng-class="{red: x==='red', blue: x==='blue'}">
   ...
</body>

答案 1 :(得分:0)

您是否尝试过使用ui-sref-active指令。

为了在ui-router状态匹配时使类对元素有效,请使用以下命令:

UI-SREF活性= “活性”

http://angular-ui.github.io/ui-router/site/#/api/ui.router.state.directive:ui-sref-active