Я знаю, что это может быть простой вопрос, но я разочарован здесь, и я не могу заставить его работать. Я новичок в AngularJS и пытаюсь реализовать модальный диалог (или найти его) со следующими условиями:
- Содержимое диалогового окна может поступать откуда угодно — из шаблона строки, шаблона сценария или шаблона из URL-адреса.
- Заголовок диалога и действия будут исходить от вызывающего, а не от вызываемого. Другими словами, родительская область определяет заголовок и какие кнопки действий должны существовать в модальном диалоговом окне (многие диалоговые окна, которые я обнаружил, инкапсулируют заголовок и кнопки действий в самом шаблоне, например этот)
- Содержимое шаблона должно быть полностью независимым от родительской области (вызывающей). Фактически, это может быть даже не написано на AngularJS. Он может использовать jQuery.
Если загруженный шаблон находится в AngularJS, он должен инкапсулировать свой контроллер. Например,
ng-include
не любит теги<script>
.Для этого есть обходной путь (здесь, здесь и здесь), но идея украшения тега script с помощью
text/javascript-lazy
очень вонючая и грязная, пусть только то, что я хочу, чтобы контент HTML был автономным и исполняемым, если он не загружается как содержимое модального диалога AngularJS.Связь между родительской областью и содержимым должна осуществляться через общий контракт (события JavaScript приходят мне на ум)
Я пробовал ngDialog
, но проблема в том, что контейнер должен передать controller
загруженному шаблону. Это не то, чего я хочу. В диалоговом окне Bootstrap также кажется, что вам нужно передать controller
из родительской области в содержание диалога. Это нарушает само понятие инкапсуляции. Это нежелательно. Кроме того, это зависит от результата диалога, что также нежелательно.