ngApp没有初始化AngularJS应用程序,但ng-app确实如此

时间:2014-04-07 19:23:22

标签: angularjs angularjs-directive

我原以为使用各种形式的Angular指令名称之间没有区别,例如,ngApp,ng-app,x-ng-app都应该是可以互换的。

但是在这个页面上,如果我使用' ngApp',Angular不会初始化,如果我使用&#ng; ng-app,一切正常。'谁知道为什么?

<html ngApp> <!-- works if 'ng-app' -->
  <head>
    <script src='https://ajax.googleapis.com/ajax/libs/angularjs/1.2.13/angular.min.js'></script>
  </head>

  <body>
    <div ng-controller='MainController'>
        {{alive}}
    </div>
  </body>

  <script type="text/javascript">
    function MainController($scope) {
      $scope.alive = "I'm alive!";
    }
  </script>
</html>

1 个答案:

答案 0 :(得分:4)

对于angular指令,在html标记中引用它们时需要使用小写连字符版本,而在JavaScript代码中引用它们时需要使用lower-camelcase版本。

  

Angular规范化元素的标记和属性名称以确定   哪些元素匹配哪些指令。我们通常会提到   它们区分大小写的camelCase规范化名称的指令(例如   ngModel)。但是,由于HTML不区分大小写,我们参考   DOM中的指令通过小写形式,通常使用   DOM元素上的破折号分隔属性(例如ng-model)。