AngularJS 模块定义了一个应用程序。
该模块是应用程序不同部分的容器。
该模块是应用程序控制器的容器。
控制器始终属于一个模块。
使用 AngularJS 函数创建模块angular.module
<div ng-app="myApp">...</div>
<script>
var app = angular.module("myApp", []);
</script>
"myApp" 参数指的是应用程序将在其中运行的 HTML 元素。
现在您可以将控制器、指令、过滤器等添加到您的 AngularJS 应用程序中。
将控制器添加到您的应用程序中,并使用以下命令引用该控制器ng-controller
指示:
<div ng-app="
myApp" ng-controller=
"myCtrl">
{{ firstName + " " + lastName }}
</div>
<script>
var app = angular.module(
"myApp", []);
app.controller(
"myCtrl", function($scope) {
$scope.firstName = "John";
$scope.lastName = "Doe";
});
</script>
亲自试一试 »
您将在本教程后面了解有关控制器的更多信息。
AngularJS 有一组内置指令,您可以使用它们向应用程序添加功能。
如需完整参考,请访问我们的AngularJS 指令参考。
此外,您可以使用该模块将您自己的指令添加到您的应用程序中:
<div ng-app="myApp" w3-test-directive></div>
<script>
var app = angular.module("myApp", []);
app.directive("w3TestDirective", function() {
return {
template : "I was made in a directive constructor!"
};
});
</script>
亲自试一试 »
您将在本教程后面了解有关指令的更多信息。
在 AngularJS 应用程序中,将模块和控制器放在 JavaScript 文件中是很常见的。
在此示例中,"myApp.js" 包含应用程序模块定义,而 "myCtrl.js" 包含控制器:
<!DOCTYPE html>
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>
<body>
<div ng-app="
myApp" ng-controller="
myCtrl">
{{ firstName + " " + lastName }}
</div>
<script src="
myApp.js"></script>
<script src="
myCtrl.js"></script>
</body>
</html>
亲自试一试 »
var app = angular.module(
"myApp", []);
模块定义中的[]参数可用于定义依赖模块。
如果没有 [] 参数,你就不能创造一个新模块,但是检索现有的。
app.controller(
"myCtrl", function($scope) {
$scope.firstName = "John";
$scope.lastName= "Doe";
});
JavaScript 中应避免使用全局函数。它们很容易被其他脚本覆盖或破坏。
AngularJS 模块通过将所有函数保留在模块本地来减少这个问题。
虽然在 HTML 应用程序中将脚本放在末尾是很常见的<body>
元素,建议您在以下位置加载 AngularJS 库:<head>
或在开始时<body>
。
这是因为调用angular.module
只能在库加载后进行编译。
<!DOCTYPE html>
<html>
<body>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>
<div ng-app="myApp" ng-controller="myCtrl">
{{ firstName + " " + lastName }}
</div>
<script>
var app = angular.module("myApp", []);
app.controller("myCtrl", function($scope) {
$scope.firstName = "John";
$scope.lastName = "Doe";
});
</script>
</body>
</html>
亲自试一试 »