AngularJS Includes

AngularJS Includes

HTML does not support embedding HTML pages within the HTML page. To achieve this functionality, we can use one of the following options:

Using Ajax - Make a server call to get the corresponding HTML page and set it in theinnerHTML of HTML control.

Using Server Side Includes - JSP, PHP and other web side server technologies can include HTML pages within a dynamic page.

Using AngularJS, we can embed HTML pages within an HTML page using ng-include directive.

<div ng-app="" ng-controller="studentController">

   <div ng-include="'main.htm'"></div>

   <div ng-include="'subjects.htm'"></div>

</div>

Example

tryAngularJS.htm

<html>

<head>

<title>Angular JS Includes</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="" ng-controller="studentController">

<div ng-include="'main.htm'"></div>

<div ng-include="'subjects.htm'"></div>

</div>

<script>

function studentController($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;

         returnstudentObject.firstName + " " +studentObject.lastName;

      }

   };

}

</script>

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

</body>

</html>

main.htm

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

</table>

subjects.htm

<p>Subjects:</p>

<table>

   <tr>

      <th>Name</th>

      <th>Marks</th>

   </tr>

   <tr ng-repeat="subject instudent.subjects">

      <td>{{ subject.name }}</td>

      <td>{{ subject.marks }}</td>

   </tr>

</table>

Output

To execute this example, you need to deploytestAngularJS.htmmain.htm, and subjects.htm to a web server. Open the file testAngularJS.htmusing the URL of your server in a web browser and see the result.

AngularJS Includes

ليست هناك تعليقات:

إرسال تعليق