Jusqu'à présent, ce que j'ai est d'emblée l'exemple de l'interface utilisateur angulaire:AngularJS Modal ne se présente pas quand templateURL change
Controller:
var ModalDemoCtrl = function ($scope, $modal) {
$scope.open = function() {
var modalInstance = $modal.open({
templateUrl: 'myModalContent.html',
controller: ModalInstanceCtrl
});
};
};
var ModalInstanceCtrl = function ($scope, $modalInstance) {
$scope.close = function() {
$modalInstance.dismiss('cancel');
};
};
Et cette section, qui est juste assis dans le. html pour toute la page, cette modalité est activée. Html:
<script type="text/ng-template" id="myModalContent.html">
<div class="modal-header">
<h3 class="modal-title">I'm a modal!</h3>
<button class="btn btn-warning" ng-click="close()">X</button>
</div>
<div class="modal-body">
Stuff
</div>
</script>
Cela fonctionne très bien. Mais j'essaie de refactoriser certaines choses et d'organiser mon code, donc je voudrais déplacer le html modal dans son propre fichier. Lorsque je le fais, et essayez de l'utiliser comme en changeant le templateUrl au chemin: \tmpl\myModalContent.html
, il n'apparaît pas. La toile de fond apparaît toujours et l'inspection de la page montre qu'elle a été correctement chargée, mais ne s'affichera pas.
J'ai essayé de changer le CSS pour le modal par ces suggestions sans différence. Ma question est, pourquoi cela fonctionne-t-il bien si le tag de script est dans le HTML principal, mais pas du tout s'il est dans son propre fichier? Il s'agit d'un plnkr qui montre ce que je veux dire. Si vous copiez ce qui est dans le fichier template.html et que vous le placez juste au-dessus du bouton dans le fichier index.html, cela fonctionne ...
Cela devrait être automatique. –