Я пытаюсь создать некоторые модальности Bootstrap динамически с помощью AngularJS, как описано здесь: https://angular-ui.github.io/bootstrap/AngularJS шаблоны + Bootstrap модальность
Для этой цели я создал основной шаблон сценария в AngularJS внутри зрения директивы называется modalView.html:
<script type="text/ng-template" **id="{{modalId}}.html"**>
<div class="modal-header">
Header
</div>
<div class="modal-body">
Body
</div>
<div class="modal-footer">
Footer
</div>
</script>
И это моя директива (modalDirective.js):
myDirectives.directive('modal', function() {
return {
restrict: 'A',
scope: {},
templateUrl: 'shared/controls/modal/modalView.html',
link: function (scope, element, attributes) {
scope.modalId = attributes['modalId'];
}
}
});
Тогда, у меня есть еще одна прямая ive, который использует вышеупомянутую директиву рядом с текстовым полем, который должен открыть модальный момент при нажатии последнего.
modalTextboxView.html:
<div modal modal-id="{{modalId}}"></div>
<div textbox is-read-only="true" ng-click="openModal()"></div>
modalTextboxDirective.js:
myDirectives.directive('modalTextbox', function ($modal, $log) {
return {
restrict: 'A',
scope: {},
templateUrl: 'shared/controls/modalTextbox/modalTextboxView.html',
link: function (scope, element, attributes) {
scope.modalId = attributes['fieldId'];
scope.openModal = function(modalSize) {
var modalInstance = $modal.open({
**templateUrl: scope.modalId + '.html',**
size: modalSize,
resolve: {
items: function() {
return scope.items;
}
}
});
modalInstance.result.then(function (selectedItem) {
scope.selected = selectedItem;
}, function() {
$log.info('Modal dismissed at: ' + new Date());
});
}
}
}
});
HTML, выход, как и ожидалось. Я вижу, что идентификатор шаблона сценария первого представления задается правильно. Однако, когда я нажимаю на текстовое поле, я получаю сообщение об ошибке 404. Кажется, что модальный пытается открыть, но не может найти установленный templateUrl, который также был установлен правильно. Более того, если я просто набираю hardcoded значение в поле id шаблона скрипта, он работает безупречно и открывает модальный. К сожалению, мне нужно, чтобы этот идентификатор был динамическим, поскольку мне нужно иметь возможность создавать и генерировать неопределенное количество модалов на моей странице.
Любые идеи?