ホームページ >ウェブフロントエンド >jsチュートリアル >Examples_AngularJS を使用して AngularJS のモジュールを説明する

Examples_AngularJS を使用して AngularJS のモジュールを説明する

WBOY
WBOYオリジナル
2016-05-16 15:54:41877ブラウズ

AngularJS はモジュラーアプローチをサポートしています。モジュールは、サービス、コントローラー、アプリケーションなどを個別のロジックで表し、コードをクリーンに保つために使用されます。モジュールを別の js ファイルで定義し、 module.js ファイルごとに名前を付けます。この例では、2 つのモジュールを作成しています。

  1. アプリケーション モジュール - コントローラー アプリケーションの初期化に使用されます
  2. コントローラー モジュール - コントローラーの定義に使用されます

アプリケーションモジュール

mainApp.js

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

ここでは、angular.module 機能を使用してアプリケーションの mainApp モジュールを宣言しました。空の配列を渡しました。通常、この配列には依存モジュールが含まれます。
コントローラーモジュール

studentController.js

mainApp.controller("studentController", function($scope) {
  $scope.student = {
   firstName: "Mahesh",
   lastName: "Parashar",
   fees:500,
   subjects:[
     {name:'Physics',marks:70},
     {name:'Chemistry',marks:80},
     {name:'Math',marks:65},
     {name:'English',marks:75},
     {name:'Hindi',marks:67}
   ],
   fullName: function() {
     var studentObject;
     studentObject = $scope.student;
     return studentObject.firstName + " " + studentObject.lastName;
   }
  };
});

ここでは、studentControllerモジュールのmainApp.controller関数を採用したコントローラーを宣言しています。
モジュールを使用する

<div ng-app="mainApp" ng-controller="studentController">
..
<script src="mainApp.js"></script>
<script src="studentController.js"></script>

ここでは ng-app ディレクティブと ng-controller ディレクティブを使用したコントローラー アプリケーション モジュールを使用しています。 mainApp.js とstudentController.js をメインの HTML ページにインポートしました。

次の例は、上記のすべてのモジュールを示します。

testAngularJS.htm

<html>
  <head>
 <title>Angular JS Modules</title>
 <style>
 table, th , td {
  border: 1px solid grey;
  border-collapse: collapse;
  padding: 5px;
 }
 table tr:nth-child(odd) {
  background-color: #f2f2f2;
 }
 table tr:nth-child(even) {
  background-color: #ffffff;
 }
 </style>
 </head>
 <body>
 <h2>AngularJS Sample Application</h2>
 <div ng-app="mainApp" ng-controller="studentController">
 <table border="0">
 <tr><td>Enter first name:</td><td><input type="text" ng-model="student.firstName"></td></tr>
 <tr><td>Enter last name: </td><td><input type="text" ng-model="student.lastName"></td></tr>
 <tr><td>Name: </td><td>{{student.fullName()}}</td></tr>
 <tr><td>Subject:</td><td>
 <table>
  <tr>
    <th>Name</th>
    <th>Marks</th>
  </tr>
  <tr ng-repeat="subject in student.subjects">
    <td>{{ subject.name }}</td>
    <td>{{ subject.marks }}</td>
  </tr>
 </table>
 </td></tr>
 </table>
 </div>
 <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js"></script>
 <script src="mainApp.js"></script>
 <script src="studentController.js"></script>
</body>
</html>

mainApp.js

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

studentController.js

mainApp.controller("studentController", function($scope) {
  $scope.student = {
   firstName: "Mahesh",
   lastName: "Parashar",
   fees:500,
   subjects:[
     {name:'Physics',marks:70},
     {name:'Chemistry',marks:80},
     {name:'Math',marks:65},
     {name:'English',marks:75},
     {name:'Hindi',marks:67}
   ],
   fullName: function() {
     var studentObject;
     studentObject = $scope.student;
     return studentObject.firstName + " " + studentObject.lastName;
   }
  };
});

出力

Web ブラウザで textAngularJS.htm を開きます。以下の結果をご覧ください。

201561794640977.png (644×450)

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。