angular.js简单的功能

时间:2015-07-09 13:08:56

标签: javascript angularjs

我曾经在整个<body ng-controller="MainCtrl">中拥有控制器,在那里我有一些像这样的基本功能:

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

在这里使用:

 ng-class="{active:isActive('{{ $link['url'] }}')}"

如何处理这个问题最好的方法是什么?它在不同的列表中多次使用。我应该制定指令吗?

2 个答案:

答案 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'])}"