我曾经在整个<body ng-controller="MainCtrl">
中拥有控制器,在那里我有一些像这样的基本功能:
$scope.isActive = function(route) {
return route === $location.path();
};
在这里使用:
ng-class="{active:isActive('{{ $link['url'] }}')}"
如何处理这个问题最好的方法是什么?它在不同的列表中多次使用。我应该制定指令吗?
答案 0 :(得分:1)
通常,您使用服务(tutorial)处理重新发生的函数,如下所示:
angular.module('yourAppName').service('yourServiceName', function(){
return {
isActive: function (route){
return route === $location.path();
},
});
然后,在您的控制器中,添加对'yourServiceName'
的依赖关系,并在您想要使用它时随时调用yourServiceName.isActive(route)
。
答案 1 :(得分:0)
更改
ng-class="{active:isActive('{{ $link['url'] }}')}"
到
ng-class="{'active': isActive($link['url'])}"