angular uiブートストラップ(ui.boostrap.modal)を使用してテンプレートに取り組んでいます。データ {{property}} は Ajax リクエストから作成されます。
<!-- template for the modal box-->
<div><a data-toggle="modal" href="#{{property.domId()}}"
class="btn btn-default">{{property.label}}</a></div>
<div id="{{property.domId()}}"
class="modal fade" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-body">
<div class="row">
<div class="col-md-12 panel panel-info">
<div class="panel-heading">
<span tooltip-placement="bottom"
tooltip-html-unsafe="{{property.tooltip}}">
{{property.label}}</span>
</div>
<div class="panel-body">
<div ng-repeat="property in property.value">
<div ng-include="property.templateUrl">
</div>
</div>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
モーダル ウィンドウの一部のボタンは、$scope などのモデルを更新します。
問題は、ajax promise から戻った後、DOM がモーダル ボックスの再構築を開始することです。$digest の深いところのある時点で、要素のレンダリングに失敗し、モーダル ウィンドウが消えます。背景の影だけが残ります(これにより、何もクリックできなくなります)。
<div class="modal-backdrop fade in"></div>
開発者ツールでは、DOM 全体が Angular によって完全に解決されていることがわかります。