2016-04-07 43 views
3

我正在使用角度ui bootstrap。我想定義一個通用的模態窗口來提供一些默認按鈕,如關閉,確定,標題等。

用戶的模態正文模板作爲模板url提供。如何將用戶的模態正文模板合併到我的通用模態窗口模板中?

下面是我的通用模式窗口模板, 模式,window.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> 

感謝。

回答

3

您應該可以使用ng-include。 如果您將用戶模板URL放在控制器的示波器上: userTemplate='users/template.html'。然後,你可以這樣做:

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

如果您還需要一個定製的控制器,你可以定義一個這樣的:

用戶/ template.html

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

唯一的缺點該控制器需要在父控制器中定義。在這種情況下,控制器被定義爲userTemplate='users/template.html'

+0

不錯的解決方案, 但是自定義控制器呢? – Magico

+0

編輯我這個案例的答案 – kabaehr

+0

這對我的用例來說非常完美!謝謝 –

相關問題