Показать 2 шаблона на одной странице / вкладке
У меня проблема с ng-шаблоном. В этом примере, если я добавлю в выпадающие меню еще одну опцию (ex template3.html), как я могу показать первый и второй шаблон вместе?
HTML:
<!-- template1.html -->
<script type="text/ng-template" id="template1.html">
Content of template1.html
</script>
<!-- template2.html -->
<script type="text/ng-template" id="template2.html">
Content of template2.html
</script>
<div ng-controller="Ctrl">
<select ng-model="template" ng-options="t.name for t in templates">
</select>
url of the template: <tt>{{template.url}}</tt>
<hr/>
<div ng-include src="template.url"></div>
</div>
JS:
function Ctrl($scope) {
$scope.templates =
[ { name: 'template1.html', url: 'template1.html'}
, { name: 'template2.html', url: 'template2.html'}
, { name: 'template3.html', url: }//this must contain first and second template
];
$scope.template = $scope.templates[0];
}
1 ответ
Решение
Создайте шаблон, который включает оба других
<script type="text/ng-template" id="template3.html">
<div ng-include src="'template1.html'"></div>
<div ng-include src="'template2.html'"></div>
</script>
JS
function Ctrl($scope) {
$scope.templates =
[ { name: 'template1.html', url: 'template1.html'}
, { name: 'template2.html', url: 'template2.html'}
, { name: 'template3.html', url: 'template3.html' }
];
$scope.template = $scope.templates[0];
}