我原以为使用各种形式的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>
答案 0 :(得分:4)
对于angular指令,在html标记中引用它们时需要使用小写连字符版本,而在JavaScript代码中引用它们时需要使用lower-camelcase版本。
Angular规范化元素的标记和属性名称以确定 哪些元素匹配哪些指令。我们通常会提到 它们区分大小写的camelCase规范化名称的指令(例如 ngModel)。但是,由于HTML不区分大小写,我们参考 DOM中的指令通过小写形式,通常使用 DOM元素上的破折号分隔属性(例如ng-model)。