我是Angular JS的初学者。我正在浏览下面的链接。http://docs.angularjs.org/tutorial/step_00
引导程序文件是什么?它们位于何处?
什么是自动引导和引导的手动初始化?我读到了手动初始化的缺点如下。从链接http://docs.angularjs.org/guide/bootstrap
有人能确切地解释一下这里的缺点是什么吗?
发布于 2015-09-06 13:39:08
尽管上面的每个人都回答得很好,我也找到了我想要的东西,但仍然缺少一个有效的例子。
在理解AngularJS中的自动/手动引导时,下面的示例会有很大帮助:
AngularJS :自动引导:
在发生DOMContentLoaded事件时,或者当angular.js脚本下载到浏览器并将document.readyState设置为完成时,Angular会自动初始化/引导。此时,AngularJS查找ng-app指令。当找到ng-app指令时,Angular将:
从ng-
这个过程被称为自动引导。
<html>
<body ng-app="myApp">
<div ng-controller="Ctrl">Hello {{msg}}!</div>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js"></script>
<script>
var app = angular.module('myApp', []);
app.controller('Ctrl', function($scope) {
$scope.msg = 'Nik';
});
</script>
</body>
</html>
JSFiddle:http://jsfiddle.net/nikdtu/ohrjjqws/
AngularJS -手动引导:
您可以使用angular.bootstrap()函数手动初始化您的angular应用程序。此函数将模块作为参数,应在angular.element(document).ready()函数中调用。当DOM准备好操作时,将触发angular.element(文档).ready()函数。
<html>
<body>
<div ng-controller="Ctrl">Hello {{msg}}!</div>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js"></script>
<script>
var app = angular.module('myApp', []);
app.controller('Ctrl', function($scope) {
$scope.msg = 'Nik';
});
//manual bootstrap process
angular.element(document).ready(function () { angular.bootstrap(document, ['myApp']); });
</script>
</body>
</html>
JSFiddle:http://jsfiddle.net/nikdtu/umcq4wq7/
备注:
发布于 2014-01-11 11:36:55
引导相当于初始化或启动您的Angular应用程序。有两种主要的方法可以做到这一点。
第一种是通过将ng-app
添加到HTML中的an元素来自动引导,如下所示:
<html ng-app="myApp">
...
</html>
第二种方法是在通过angular.module("myApp", []);
创建应用程序后从JavaScript引导,如下所示
angular.bootstrap(document, ['myApp']);
发布于 2014-06-08 07:44:42
补充Dave Swersky的答案(我是Angular的新手,如果我错了,请纠正我):
下图取自angularjs.org bootstrap tutorial。解释了戴夫所说的。
超文本标记语言在带有ng-app指令的元素中,由AngularJS编译。例如:
<body>
<div> {{ 1 + 2 }} </div>
</body>
将呈现为:
{{ 1 + 2 }}
但是,添加ng-app指令:
<body ng-app="module">
<div> {{ 1 + 2 }} </div>
</body>
渲染方式如下:
3
这是因为ng-app“自举”了body标签,并告诉Angular创建内容的“内部表示”。当然,内部表示是3
。来自本教程:
“如果找到ng-app指令,则Angular将编译DOM,将ng-app指令视为编译的根。这允许您告诉它只将DOM的一部分视为Angular应用程序。”
Angular还加载与ng-app指令相关的模块( Angular教程中的“module”),并创建一个应用程序注入器(用于依赖项注入)。
https://stackoverflow.com/questions/21058213
复制相似问题