尽管上面的每个人都回答得很好,我找到了我正在寻找的东西,但似乎仍然缺少一个有效的例子。
虽然在下面的示例中了解 AngularJS 中的自动/手动引导会很有帮助:
AngularJS:自动引导:
Angular 在 DOMContentLoaded 事件或 angular.js 脚本下载到浏览器并且 document.readyState 设置为完成时自动初始化/引导。此时 AngularJS 寻找 ng-app 指令。当找到 ng-app 指令时,Angular 将:
加载与指令关联的模块。
创建应用程序注入器。
从 ng-app 根元素开始编译 DOM。
这个过程称为自动引导。
<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(document).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/
注意:
手动引导时不应使用 ng-app 指令
你的应用。
不应混淆自动和手动引导方式
你的应用。
在手动之前定义模块、控制器、服务等
按照上述示例中的定义引导您的应用。
参考:http://www.dotnettricks.com/books/angularjs/interview