Javascript [AngularJS]:根据状态更改车身等级

Javascript [AngularJS]:根据状态更改车身等级,javascript,angularjs,Javascript,Angularjs,我想根据AngularJS上的当前状态更改body类 例如,如果状态1,则body class=“blue”; 如果状态为2,则body class=“red” 我有两个州: .state('app.state1', { url: "/state1", data: { class: blue }, templateUrl: "state1.html", controller: "MyCtrl" }) .s

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

例如,如果状态1,则
body class=“blue”
; 如果状态为2,则
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>

有什么办法吗


这个答案解决了这个问题:

您可以使用
ng类


...

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

为了在ui路由器状态匹配时使类对元素处于活动状态,请使用以下命令:

ui sref active=“active”


我已经试过了,但我没能让它对我的案子起作用。它无法识别
{{appController.bodyClasses}}
您是否尝试在
标记上而不是
上设置
ng app
指令?是的,但也不起作用。我得到以下输出:
这对状态有效吗?我在这里试过了,但没有效果。如果我只有两种状态(活动和非活动),这没关系,对吗?但是,我如何将其用于更多的状态(例如,四个状态)?例如,如果我希望四个状态具有四种不同的身体类别(蓝色、红色、绿色、黄色)。那么,我就不能使用ui-sref-active指令了,对吗?
<body ng-class="{red: x==='red', blue: x==='blue'}">
   ...
</body>