Ответ 1
Есть несколько подходов, доступных вам.
Лучше всего добавить свой собственный directive. Расширение в вашем примере:
module.directive('myModule', function() {
return {
restrict: 'A',
scope : {
title : '@'
},
templateUrl : '/partial/module.html',
transclude : true
};
});
Мы будем использовать переход, чтобы сделать содержимое более гибким. Теперь частичное:
<div class="module">
<h2 class="module-title">{{title}}</h2>
<div class="module-content" ng-transclude></div>
</div>
С помощью этой директивы вы можете использовать следующий HTML-код:
<div my-module title="{{module.title}}">
{{module.content}}
</div>
Другой вариант - использовать директиву ng-include
. Это простое исключение частичной, причем разница заключается в том, что заброшенные частичные жизни в той же области, что и контекст, в который он был включен.
<div ng-include="module.partialUrl"></div>
В приведенном выше случае Angular будет прервать частичное по URL-адресу в $scope.module.partialUrl
. (Edit: это означает, что вы можете динамически заменять пользовательские интерфейсы, заменяя переменную области видимости, используемую ngInclude. Удивительно, правильно?)
Если вы просто используете одно и то же частичное, чтобы избежать повторяющегося кода, просто просто разместите URL в одинарных кавычках:
<div ng-include="'/partial/foo.html'"></div>