AngularJS - 将自定义类指令应用于ng-repeat项目

时间:2013-03-14 11:18:25

标签: javascript angularjs

我正试图通过AngularJS动态设置div的宽度。

<ul id="contents">
  <li ng-repeat="content in contents">
    <div class="content_right custom_width">
      <div class="title">{{content.title}}</div>
    </div>
  </li>
</ul>

使用以下指令

myApp.directive("custom_width", function() {
  return {
    restrict:"C",
    link: function(scope, element, attrs) {
      element.css("width", 400);
    }
  }
});

但没有任何事情发生。我尝试在“link:function ..”中“console.log”,但没有打印出来。我在这里缺少什么?

感谢您的时间。

1 个答案:

答案 0 :(得分:4)

指令定义使用camelCase:

myApp.directive("customWidth", function() {
  return {
    restrict:"C",
    link: function(scope, element, attrs) {
      element.css("width", 400);
    }
  }
});

Directive docs

在AngularJS中,在定义指令和访问属性(来自指令内)时使用驼峰大小写(lowerCamelCase),并且使用蛇形大小写(dash-case - 无论你想要它调用它)引用HTML元素中的指令和/或属性。