AngularJS指令不起作用

时间:2012-08-13 11:12:52

标签: angularjs angularjs-directive

请在下面找到我写的指令,

angular.module('netVogue.directives', []).
  directive('set-First-Active', function() {
      return function(scope, element, attrs){
          alert('sample');
          element.addClass("active");     
      };
  });

我已将此指令以下面的方式添加到我的模块中,

angular.module('netVogue', ['netVogue.filters', 'netVogue.services', 'netVogue.directives']);

我在我的模板中使用了这个指令,格式如下,

<div class="item" ng-repeat="viewPrintcampaign in viewPrintcampaigns" ng-init="first=$first" set-First-Active> 
</div>

然而,我既没有看到任何警报响应,也没有增加课程。 有人可以帮我这个吗? 由于某些依赖性,我不想使用'ng-class',但想为ng-repeat的第一个元素添加class ='active'。

非常感谢任何帮助。提前谢谢。

1 个答案:

答案 0 :(得分:34)

声明指令时应具有驼峰案例名称(setFirstActive)。

请参阅developer guide on directives

  

指令包含诸如“绑定”之类的骆驼名称。可以通过将驼峰案例名称转换为具有以下特殊字符的蛇案例来调用该指令:, - 或_。可选地,该指令可以以x-或数据为前缀,以使其符合HTML验证器。以下列出了一些可能的指令名称:ng:bind,ng-bind,ng_bind,x-ng-bind和data-ng-bind。