У меня есть диалог, который используется в трех сценариях на той же странице. Я создал контроллер, аналогичный приведенному ниже:AngularJS & Bootstrap Modal - загрузочный шаблон внешнего контроллера
var modalInstance = $modal.open({
templateUrl: 'myModalContent.html',
controller: 'ModalInstanceCtrl',
size: size,
resolve: {
items: function() {
return $scope.items;
}
}
});
<script type="text/ng-template" id="myModalContent.html">
<div class="modal-header">
<h3 class="modal-title">Im a modal!</h3>
</div>
<div class="modal-body">
<ul>
<li ng-repeat="item in items">
<a ng-click="selected.item = item">{{ item }}</a>
</li>
</ul>
Selected: <b>{{ selected.item }}</b>
</div>
<div class="modal-footer">
<button class="btn btn-primary" ng-click="ok()">OK</button>
<button class="btn btn-warning" ng-click="cancel()">Cancel</button>
</div>
</script>
Проблема в том, что, поскольку этот диалог используется в 3-х разных частях одной и той же страницы, у меня есть проблема с шаблоном. Когда я помещаю html-шаблон вне контроллера, в самом конце страницы html, он терпит неудачу и дает мне 404.
Однако я не хочу повторять один и тот же фрагмент HTML в трех местах в такой же страница. Может ли кто-нибудь сказать мне, есть ли другой способ вызвать шаблон, который находится вне контроллера?
Это был бы идеальный сценарий. Тем не менее, система, над которой я работаю, все работает в 1 html-файле, поэтому мне было интересно узнать, могу ли я иметь этот html-фрагмент в теге скрипта, где-то внизу страницы, вне контроллера, чтобы он использовался во всех 3 случая. Есть ли способ сказать контроллеру использовать этот кусок HTML, который находится за его пределами, но на той же странице? – user1809790
Хорошо, я виноват! Вы помещали этот шаблон в '$ rootElement'? – alisabzevari
Спасибо большое! это была моя проблема. Шаблон находился за пределами $ rootElement – user1809790