我有一个HTML文件,该文件与angular中的指令一起使用,其中scope.course在.js文件中定义。
ng-href="courses/{{course.url}}"下面的代码中,效果很好,并给出了“ courses / myurl”的链接

但是当在ng-class的isActive方法中放入变量时,它不会显示,好像我无法从此处访问它。

<li ng-class={active: isActive('/courses/{{course.url}}')}><a ng-href="courses/{{course.url}}">Overview</a></li>


我的isActive方法看起来像这样:

scope.isActive = function(route){
    console.log(route);
    return route === $location.path();
}


但是它记录“ / courses /”,没有其他任何内容

如何将course.url放入我的isActive方法中?

最佳答案

尝试这个:



var mod = angular.module('myapp', []);
mod.controller('mycontroller', function($scope, $location) {
  $scope.course = {
    url: 'myurl'
  };

  $scope.isActive = function(route){
    return route === '/courses/myurl';
    }
});

.active a {
  color: green;
  }

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myapp" ng-controller="mycontroller">
  <div ng-class="{'active':  isActive('/courses/' + course.url) }"><a ng-href="courses/{{course.url}}">Overview</a>
  </div>
</div>

09-27 13:23