La Fermeture De Twitter Bootstrap Modal Angulaires Contrôleur

J'ai une fenêtre modale que j'utilise pour présenter un formulaire pour les utilisateurs. Ils saisissez les informations, puis appuyez sur un bouton de la a un ng-click. Le serveur traite la demande et renvoie une réponse. Lorsque la réponse est un succès, je veux fermer la fenêtre modale à partir du contrôleur. Comment cela peut-il être atteint?

Le modal est une partielle inclus dans une autre page

La page principale:

<!-- main content -->
<p>Foo</p>
<!-- angular directive -->
<foo-directive></foo-directive>

Du contenu de la directive:

<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>

Modal balisage:

<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>

Contrôleur de code:

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
            });
        }
    };

Quelle est la bonne façon de fermer la modale du contrôleur, dans le succès et les fonctions d'erreur?

Merci d'avance,

  • Pourriez-vous veuillez donner le code de votre FooService? Merci beaucoup à l'avance ...
  • Veuillez envisager de passer votre réponse afin que je puisse retirer le mien. Je suis fatigué d'avoir downvote notifications. 🙂
InformationsquelleAutor binarygiant | 2013-03-14