首頁 > web前端 > js教程 > 舉例說明AngularJS中的模組_AngularJS

舉例說明AngularJS中的模組_AngularJS

WBOY
發布: 2016-05-16 15:54:41
原創
868 人瀏覽過

 AngularJS支援模組化的方法。模組用於單獨的邏輯表示服務,控制器,應用程式等,並保持程式碼的整潔。我們在單獨的js檔案中定義的模組,並將其命名為按照module.js檔案形式。在這個例子中,我們要建立兩個模組。

  1.     Application Module - 用於初始化控制器應用程式
  2.     Controller Module - 用來定義控制器

應用模組

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指令應用模組。我們已經在主要的HTML頁面導入mainApp.js和studentController.js。
範例

下面的範例將展示上述所有模組。

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;
   }
  };
});

登入後複製

輸出

在網頁瀏覽器開啟textAngularJS.htm。看到結果如下。

201561794640977.png (644×450)

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板