通过控制器根据位置路径更改 css class

change css class depending on location path via controller

有人可以帮助我如何根据控制器中的 url 路径切换元素的 css class 吗?

我试着用下面的代码尝试这个,当我将路径更改为 'user' 时 class 没有改变,请帮忙,谢谢。

html:

<figure data-ng-class="{'account-balance': !isVisitor, 'lang-selector': isVisitor}">

在控制器中:

$scope.accountView = function(viewLocation) {
if(viewLocation === $location.path('/visitor')) {
  return $scope.isVisitor;
}

};

这是我的答案。唯一的问题是我不知道 viewLocation 是什么。

我会这样写:

<figure data-ng-class="accountView(viewLocation)">

函数为:

$scope.accountView = function(viewLocation) {
  var res;
  if(viewLocation === $location.path('/visitor')) {
    res = 'lang-selector';
  } else {
    res = 'account-balance';
  }
  return res;
};

这会将所有逻辑保留在控制器中并为您提供更多控制权。您也可以将其设为 switch 语句而不是 if/else。确保在控制器中注入 $location