我知道有angular bootstarp modal但現在我有使用$('#msg-modal').modal();
如何在模式加載不同的模板時觸發控制器的初始化 - angularJS
我已經創建模式爲打開一個模式:
<div class="modal signUpContent fade" id="msg-modal" tabindex="-1" role="dialog">
<div class="modal-dialog" style="margin-top: 200px;">
<div class="modal-content" ng-style="modal_data.style.container">
<div class="modal-header" style="background: #0bb586;" ng-style="modal_data.style.header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true"> × </button>
<h3 class="modal-title-site text-center"> {{ modal_data.title }} </h3>
</div>
<div class="modal-body">
<center ng-if="!(modal_data.template)"><span compile="modal_data.msg"></span></center>
<span ng-if="(modal_data.template)">
<div ng-include="modal_data.template"></div>
</span>
<hr>
<center>
<a ng-style="modal_data.style.ok_btn" ng-click="buttonClick(modal_data.ok_btn.on_click)" class="btn btn-primary smooth-corner" ng-show="modal_data.ok_btn" ng-href="{{ modal_data.ok_btn.path }}" ng-bind="modal_data.ok_btn.name"> </a>
<a ng-style="modal_data.style.cancel_btn" ng-click="buttonClick(modal_data.cancel_btn.on_click)" class="btn btn-primary smooth-corner" ng-show="modal_data.cancel_btn" ng-bind="modal_data.cancel_btn.name"></a>
</center>
</div>
</div>
</div>
</div>
正如你所看到的,我有<div ng-include="modal_data.template"></div>
加載模板時傳遞給它。問題是,如果我在modal_data.template
中分配了一個控制器,它的init函數只會被調用一次。下次顯示模式時,init函數不會被觸發。
有什麼方法可以解決這個問題。我知道這個問題基本上是因爲它通過jQuery封閉,$('#msg-modal').modal('hide');
,這實際上隱藏元素,但不會關閉它
模式不能被解除/關閉還是必須隱藏? – rrd
@rrd「''有沒有可以解僱的人,我覺得它沒有幫助我:( –
嘗試@esquarial提供的答案,然後你可以在控制器中使用$ onInit(),在實例化時觸發一次。 – rrd