app指令与自动加载实现方法分析

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="https://www.jb51.net/angular.js"></script> </body> </html>

1、不含ng-app,无法自动加载,这个比较好理解。

<html> <body> <div>div1:{{1+3*2}}</div> <script src="https://www.jb51.net/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="https://www.jb51.net/angular.js"></script> </body> </html>

3、ng-app带有属性,不能自动加载

<html> <body> <div ng-app="app1">div1:{{1+3*2}}</div> <script src="https://www.jb51.net/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="https://www.jb51.net/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="https://www.jb51.net/angular.js"></script> </body> </html>

第4和5两种情况很奇怪,不应该有这种顺序的区别,也没有必要这样区分,猜测应该是框架的bug。有人明白的话,欢迎指教。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwjzpg.html