您的位置:首页 > Web前端 > AngularJS

AngularJS Tutorial(12)from w3school

2015-08-04 09:26 531 查看

An AngularJS module defines an application.
A module is a container for the different parts of an application.
All application controllers should belong to a module.

A Module With One Controller

This application ("myApp"), has one controller ("myCtrl"):

AngularJS Example

<!DOCTYPE
html>

<html>

<script
src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>

<body>

<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>

Try it Yourself »

Modules and Controllers in Files

It is common in AngularJS applications to put the module and the controllers in JavaScript files.

In this example, "myApp.js" contains an application module definition, while "myCtrl.js" contains the controller:

AngularJS Example

<!DOCTYPE
html>

<html>

<script
src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/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>

Try it Yourself »

myApp.js

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


The [] parameter in the module definition can be used to define dependent modules.

myCtrl.js

app.controller("myCtrl", function($scope) {

$scope.firstName = "John";

$scope.lastName= "Doe";

});

Functions can Pollute the Global Namespace

Global functions should be avoided in JavaScript. They can easily be overwritten or destroyed by other scripts.

AngularJS modules reduces this problem, by keeping all functions local to the module.

When to Load the Library?


In all our examples, the AngularJS library is loaded in the head of the HTML document.
A common advise for HTML applications, is to place scripts at the very bottom of the <body> element.

But, in many AngularJS examples, you will see the library in the head of the document.

This is because calls to angular.module can only be compiled after the library has been loaded.

Another solution is to load the AngularJS library in the <body> element, before your own AngularJS scripts:

AngularJS Example

<!DOCTYPE
html>

<html>

<body>

<div
ng-app="myApp" ng-controller="myCtrl">

{{ firstName + " " + lastName }}

</div>

<script
src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>

<script>

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

app.controller("myCtrl", function($scope) {

$scope.firstName = "John";

$scope.lastName = "Doe";

});

</script>

</body>

</html>

Try it Yourself »
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: