(三)ng-app的使用困惑和angularJS框架的自动加载

ng-app是angular的一个指令,代表一个angular应用(也叫模块)。使用ng-appng-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。有人明白的话,欢迎指教。


 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。