AngularJS Include

Using AngularJS, you can include HTML from external files.

AngularJS Include

Using AngularJS, you can use ng-include The directive includes HTML content:

Example

<body ng-app="">
<div ng-include="'myFile.htm'"></div>
</body>

Try It Yourself

Including AngularJS code

The HTML files you include using the ng-include directive can also contain AngularJS code:

myTable.htm:
<table>
  <tr ng-repeat="x in names">
    <td>{{ x.Name }}</td>
    <td>{{ x.Country }}</td>
  </tr>
</table>

Include the "myTable.htm" file in your web page, and all AngularJS code will be executed, including the code in the included file:

Example

<body>
<div ng-app="myApp" ng-controller="customersCtrl">
  <div ng-include="'myTable.htm'"></div>
</div>
<script>
var app = angular.module('myApp', []);
app.controller('customersCtrl', function($scope, $http) {
  $http.get("customers.php").then(function (response) {
    $scope.names = response.data.records;
  });
});
</script>

Try It Yourself

Cross-domain inclusion

By default, the ng-include directive does not allow you to include files from other domains.

To include files from another domain, you can add a whitelist of valid files and/or domains in the config function of the application:

Example

<body ng-app="myApp">
<div ng-include="'https://tryit.codew3c.com/angular_include.php'"></div>
<script>
var app = angular.module('myApp', [])
app.config(function($sceDelegateProvider) {
  $sceDelegateProvider.resourceUrlWhitelist([
    'https://tryit.codew3c.com/**'
  ]);
});
</script>
</body>

Try It Yourself

Please make sure that the target server allows cross-domain file access.