在归属路线上添加css类

时间:2016-03-11 15:41:12

标签: angularjs

在标题中我想在主页的标题中添加一个css类“homeClass”

这是我的配置和我的attr指令

app.config(function($routeProvider){
$routeProvider .when("/", {
        templateUrl: "/partial/home.html",
        isMain:true
    });
});

app.directive('animClass',function($route){
return {
    link: function(scope, elm, attrs){
        if($route.current.isMain)
            elm.addClass('homeclass');
    }
}
});

的index.html

<header class="intro-header" anim-class>
...
</header>

我做错了什么?我很确定isMain在指令中无法访问。

1 个答案:

答案 0 :(得分:0)

您可以使用ng-class,因为您的指令会在路由更改之前触发:

app.directive('animClass',function($route){
    return {
        link: function(scope, elm, attrs){
            scope.$route = $route;
        }
    }
});

然后,对于你的指令,你可以加入:

<header class="intro-header" anim-class ng-class="{
    'homeClass': $route.current.isMain
}">
...
</header>

不确定您的$scopes /部分是如何连接的,但这是一般的想法。