ng-app是angular的一个指令,代表一个angular应用(也叫模块)。使用ng-app或ng-app=""来标记一个DOM结点。让框架会自己主动载入。也就是说,ng-app是能够带属性值的。假设想要实现自己主动载入。那么就不能让ng-app带有属性值。
<html> <body ng-app> <div>div1:{{1+3*2}}</div> <script src="angular.js"></script> </body> </html>
1、不含ng-app。无法自己主动载入,这个比較好理解。
<html> <body> <div>div1:{{1+3*2}}</div> <script src="angular.js"></script> </body> </html>
2、含有2个ng-app,那么仅仅会自己主动载入第一个。这个也好理解。
<html> <body> <div ng-app>div1:{{1+3*2}}</div> <div ng-app>div2:{{1+3*2}}</div> <script src="angular.js"></script> </body> </html>
3、ng-app带有属性,不能自己主动载入
<html> <body> <div ng-app="app1">div1:{{1+3*2}}</div> <script src="angular.js"></script> </body> </html>
4、不带属性的在前,带属性的在后。ng-app标记的模块能够自己主动载入
<html> <body> <div ng-app>div1:{{1+3*2}}</div> <div ng-app="app1">div1:{{1+3*2}}</div> <script src="angular.js"></script> </body> </html>
5、带属性的在前,不带属性的在后。ng-app标记的模块不能自己主动载入
<html> <body> <div ng-app="app1">div1:{{1+3*2}}</div> <div ng-app>div1:{{1+3*2}}</div> <script src="angular.js"></script> </body> </html>
第4和5两种情况非常奇怪,不应该有这样的顺序的差别,也没有必要这样区分,推測应该是框架的bug。有人明确的话,欢迎不吝赐教。