2016-04-07 4 views
3

私は角度uiブートストラップを使用しています。私は一般的なモーダルウィンドウを定義して、close、ok、titleなどのいくつかのデフォルトボタンを提供したいと考えています。

ユーザのモーダルボディテンプレートはテンプレート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'

ユーザー/ template.html

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

唯一の欠点あなたも、あなたがこのようなものを定義することができますカスタムコントローラを必要とする場合

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

:次に、あなたのような何かを行うことができますこのコントローラーを親コントローラーで定義する必要があるということです。この場合、コントローラはuserTemplate='users/template.html'と定義されていました。

+0

niceソリューション、 カスタムコントローラーはどうですか? – Magico

+0

このケースで私の答えを編集しました – kabaehr

+0

これは私のユースケースに最適でした!ありがとう –

関連する問題