如何将动态模板加载到$uibModal.open()(Angular UI引导程序)中

How do you load a dynamic template into $uibModal.open( ) ( Angular UI bootstrap)?

本文关键字:open Angular UI 引导程序 uibModal 动态 加载      更新时间:2024-02-22

我正在使用angular ui引导程序。我想定义一个通用的模式窗口来提供一些默认按钮,如关闭、确定、标题等。

用户的模态主体模板作为模板url提供。如何将用户的模态主体模板合并到通用模态窗口模板中?

下面是我的通用模式窗口模板,模式窗口.tpl.html

<div class="modal-header"><h3>{{ ctrl.headerText }}</h3></div>
<div class="modal-body">

    <<<< The user's template provided as URL should be embedded in here >>>

</div>
<div class="modal-footer">
  <button type="button" class="btn" data-ng-click="ctrl.close()"> {{ctrl.closeButtonText}} </button>
  <button class="btn btn-primary"   data-ng-click="ctrl.ok();"> {{ctrl.actionButtonText}}</button>
</div>

谢谢。

您应该能够为此使用ng-include。如果您将用户模板url放在控制器的作用域上:CCD_ 2。然后你可以做一些类似的事情:

...
<div class="modal-body">
    <div ng-include="ctrl.userTemplate"></div>
</div>
...

如果你还需要一个自定义控制器,你可以定义这样一个:

users/template.html:

<div ng-controller="CustomModalController as modalCtrl">
    {{modalCtrl.foo}}
</div>

唯一的缺点是这个控制器需要在父控制器中定义。在这种情况下,控制器被定义为userTemplate='users/template.html'