Я пытаюсь создать некоторые модальные окна Bootstrap динамически, используя AngularJS, как описано здесь: https://angular-ui.github.io/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'];
}
}
});
Затем у меня есть еще одна директива, которая использует вышеупомянутую директиву вместе с текстовым полем, которое должно открывать модальное окно при нажатии последнего.
модальныйтекстбоксвиев.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, который также был установлен правильно. Более того, если я просто ввожу жестко закодированное значение в поле id шаблона сценария, оно работает безупречно и открывает модальное окно. К сожалению, мне нужно, чтобы этот идентификатор был динамическим, поскольку мне нужно иметь возможность создавать и генерировать неопределенное количество модальных окон на моей странице.
Любые идеи?