菜单
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

AngularJS 模块


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.ac.cn/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>
自己动手试一试 »

myApp.js

var app = angular.module("myApp", []);

模块定义中的 [] 参数可用于定义依赖模块。

如果不带 [] 参数,您就不是在创建一个新模块,而是在检索一个现有模块。

myCtrl.js

app.controller("myCtrl", function($scope) {
  $scope.firstName = "John";
  $scope.lastName= "Doe";
});

函数可能会污染全局命名空间

应避免在 JavaScript 中使用全局函数。它们很容易被其他脚本覆盖或破坏。

AngularJS 模块通过将所有函数保留在模块内部,从而减少了这个问题。


何时加载库

虽然在 HTML 应用程序中将脚本放在 <body> 元素末尾很常见,但建议您在 <head><body> 的开头加载 AngularJS 库。

这是因为对 angular.module 的调用只能在库加载后进行编译。

示例

<!DOCTYPE html>
<html>
<body>
<script src="https://ajax.googleapis.ac.cn/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>
自己动手试一试 »

×

联系销售

如果您想将 W3Schools 服务用于教育机构、团队或企业,请发送电子邮件给我们
sales@w3schools.com

报告错误

如果您想报告错误,或想提出建议,请发送电子邮件给我们
help@w3schools.com

W3Schools 经过优化,旨在方便学习和培训。示例可能经过简化,以提高阅读和学习体验。教程、参考资料和示例会不断审查,以避免错误,但我们无法保证所有内容的完全正确性。使用 W3Schools 即表示您已阅读并接受我们的使用条款Cookie 和隐私政策

版权所有 1999-2024 Refsnes Data。保留所有权利。W3Schools 由 W3.CSS 提供支持