使用routeParams的Angular指令

时间:2013-09-30 09:21:44

标签: angularjs

可以替换以下模式:

.directive('currentStep', ['$log', function($log) {
    return {
        restrict: 'A',
        link: function(scope, element, attrs){
            $log.log("tmsstep is: " + scope.tmsstep);
            return attrs.currentStep === scope.tmsstep;
        }
    };
}]);

直接访问routeParams(似乎不起作用):

.directive('currentStep', ['$log', '$routeParams' , function($log) {
    return {
        restrict: 'A',
        link: function(scope, element, attrs){
            $log.log("tmsstep is: " + $routeParams.tmsstep);
            return attrs.currentStep === $routeParams.tmsstep;
        }
    };
}]);

目的是避免在$ scope和$ routeParams

中都使用tmsstep

1 个答案:

答案 0 :(得分:3)

我没有意识到您应该直接从指令修改DOM。刚回归真/假不是我想要做的。需要element.css('display',none)。

function($log, $routeParams)是指令方法的正确语法