AngularJS模块教程示例
在本文中,我们将介绍AngularJS中最重要的功能之一,即模块。
我们在之前的文章中介绍了控制器,过滤器和指令等功能。
我们还讨论了如何在Angular应用程序中创建和包含控制器,但是不建议这样做,特别是在处理大型应用程序时。
我们可以使用AngularJS Module API来模块化Angular应用程序。
什么是模块?
可以将模块视为应用程序不同部分(如"控制器","过滤器","服务","指令"等的容器,它们指定应如何引导应用程序。
模块是AngularJS依赖注入系统的重要组成部分。
这是创建模块的常规语法:
- angular.module(" myModule",[]);
myModule是模块的名称。
[]是注入依赖项的地方。
为什么选择模块?
帮助将我们的代码打包到可重用的模块中。
声明过程更容易理解。
可以以任何顺序加载模块。
易于测试和维护的组件。
帮助组织您的应用程序。
在模块中创建控制器
在本节中,我们将解释如何在模块中创建控制器。
这非常简单,我们使用以下步骤来完成该任务。
var myFirstModule = angular.module("myFirstModule ", []);
myFirstModule.controller("MyController", function);
其中我们创建了一个名为myFirstModule的模块,并其中定义了一个名为MyController的控制器。
您还可以使用Angular模块API创建服务,提供者和工厂。
下表简要介绍了API中一些最常用的方法。
| 方法 | 语法 |
|---|---|
| module.service | module.service( ‘serviceName’, function ); |
| module.factory | module.factory( ‘factoryName’, function ); |
| module.provider | module.provider( ‘providerName’, function ); |
在本文中,我们将不研究这些概念的细节。
我们将在接下来的文章中看到这些概念。
在模块示例中创建控制器
以下示例演示了如何在Angular模块中创建控制器。
在此示例中,我们将创建一个名为demoApp的模块,并其中定义控制器blogController。
Angular模块
<!DOCTYPE html>
<html ng-app="demoApp">
<head>
<title> AngularJS - Module</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.26/angular.min.js"></script>
</head>
<body>
<div ng-controller="blogController">
First Name: <input type="text" ng-model="firstName"><br>
Last Name: <input type="text" ng-model="lastName"><br>
<br>
Full Name: {{firstName + " " + lastName}}
<br>
Blog Name : {{blogName }}
</div>
<script>
var app = angular.module("demoApp", []);
app.controller("blogController", function($scope) {
$scope.firstName = "Pankaj",
$scope.lastName = "Kumar",
$scope.blogName = "theitroad"
});
</script>
</body>
</html>
我们使用ng-app指令来指定应用程序中使用的模块的名称。
您将在浏览器中看到以下输出。
AngularJS应用程序文件
之前,我们研究了如何在外部文件中包含控制器。
当您处理大型应用程序时,这非常有帮助。
在任何Angular应用程序中,我们主要使用两种类型的文件,一种使用模块,另一种使用控制器。
让我们来看看它。
以下示例演示了此用法。
首先,我们在app.js文件中创建一个模块。
app.js
var app = angular.module("demoApp", []);
第二步是在controller.js文件中定义控制器。
controller.js
app.controller("blogController", function($scope) {
$scope.firstName = "Pankaj",
$scope.lastName = "Kumar",
$scope.blogName = "theitroad"
});
第三步是在我们的应用程序中包括这两个文件。
Angular模块
<!DOCTYPE html>
<html ng-app="demoApp">
<head>
<title> AngularJS - Module</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.26/angular.min.js"></script>
</head>
<body>
<div ng-controller="blogController">
First Name: <input type="text" ng-model="firstName"><br>
Last Name: <input type="text" ng-model="lastName"><br>
<br>
Full Name: {{firstName + " " + lastName}}
<br>
Blog Name : {{blogName }}
</div>
<script src="app.js"></script>
<script src="controller.js"></script>
</body>
</html>

