Ho una finestra modale che utilizzo per presentare un modulo agli utenti. Inseriscono le informazioni e quindi premono un pulsante che ha un ng-clic. Il server elabora la richiesta e restituisce una risposta. Quando la risposta è corretta, voglio chiudere la finestra modale dal controller. Come può essere realizzato?Chiusura di Twitter Bootstrap Modal dal controller angolare
Il modale è una parziale incluso in un'altra pagina
pagina principale:
<!-- main content -->
<p>Foo</p>
<!-- angular directive -->
<foo-directive></foo-directive>
contenuti di tale direttiva:
<div ng-controller="FooCtrl">
<ul class="thumbnails">
<li class="span3 tile tile-white" ng-repeat="foo in model.foo">
<div>
{{foo.bar}}
</div>
<div>
({{foo.bam}})
</div>
<div>
<a data-toggle="modal" href="#myModal"><img src="{{foo.imgPath}}"></a>
</div>
</li>
</ul>
<!-- foo modal partial included by ejs -->
<% include foo_modal.ejs %>
</div>
modale markup:
<div id="fooModal" class="modal hide fade in" style="display: none; ">
<div class="modal-header">
<a class="close" data-dismiss="modal">×</a>
<h3>New Device</h3>
</div>
<div class="modal-body">
<h4>Foo Modal</h4>
<div ng-controller="FooCtrl">
<form name="fooFrm">
<input id="email" type="email" class="input-medium" ng-model="fooEmail"
placeholder="Email">
<button class="btn btn-primary btn-small"
ng-click="doFoo({email:fooEmail})">Email Link</button>
</form>
</div>
</div>
<div class="modal-footer">
<a href="#" class="btn" data-dismiss="modal">Close</a>
</div>
</div>
controller codice:
functionFooCtrl($scope, FooService) {
$scope.doFoo= function (email) {
FooService.save({email:email.fooEmail}) {
alert('Request successful');
//TODO close Twitter bootstrap modal named fooModal here
},
function (err) {
alert('Your request bonked, sorry');
//TODO close twitter bootstrap modal named fooModal here
});
}
};
Qual è il modo corretto per chiudere il modal dal controller nelle funzioni di successo e di errore?
Grazie in anticipo,
Potresti fornire il codice per il tuo 'FooService'? Molte grazie in anticipo ... –
Ti preghiamo di considerare di cambiare la risposta accettata in modo da poter rimuovere il mio. Sono stanco di ricevere notifiche negative. :-) – isherwood