Ответ 1
Используя ng-include, вы можете иметь разные шаблоны и просто вставлять их в части своей DOM, используя это, это хорошо для времен, когда вы хотите загружать разные представления в зависимости от различных ситуаций, таких как нажатие кнопки навигации или переменной или около того, обратите внимание, что ng-include также компилирует шаблон, чтобы вы могли использовать контроллеры и другие функции и директивы angular в шаблоне, вот пример из angularjs docs:
вот ваш основной html:
<!doctype html>
<html ng-app>
<head>
<script src="http://code.angularjs.org/1.0.6/angular.min.js"></script>
<script src="script.js"></script>
</head>
<body>
<div ng-controller="Ctrl">
<select ng-model="template" ng-options="t.name for t in templates">
<option value="">(blank)</option>
</select>
url of the template: <tt>{{template.url}}</tt>
<hr/>
<div ng-include src="template.url"></div>
</div>
</body>
</html>
и вот js:
function Ctrl($scope) {
$scope.templates =
[ { name: 'template1.html', url: 'template1.html'}
, { name: 'template2.html', url: 'template2.html'} ];
$scope.template = $scope.templates[0];
}