ng-class,angularjs中isActive方法的变量

时间:2016-04-06 13:30:35

标签: javascript html angularjs angularjs-directive scope

我有一个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(); 
}

但它记录了&#34; / courses /&#34;没有别的东西

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

1 个答案:

答案 0 :(得分:1)

试试这个:

&#13;
&#13;
var mod = angular.module('myapp', []);
mod.controller('mycontroller', function($scope, $location) {
  $scope.course = {
    url: 'myurl'
  };
  
  $scope.isActive = function(route){
    return route === '/courses/myurl';
    }
});
&#13;
.active a {
  color: green;
  }
&#13;
<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>
&#13;
&#13;
&#13;