我有一个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>