2
I would like to know the best practice when showing warnings to the user, using Angularjs. My scenario is basically the following: I have a div that represents all CRUD validations, within my index.html. In a service "messages.service.js" I have a function "shows" that is called inside each controller, when it needs to show the message on the user’s page.
Div "chapada" in index.html:
<div id="mensagens" class="alert alert-danger col-md-3" hidden>
         <a class="close" data-dismiss="alert" aria-label="close">×</a> 
         <strong style="font-size: 1.1em;">Erro ao salvar</strong><br>
         <span ng-repeat="msg in msgErro">{{msg}}<br></span>
    </div>
messages.service.js:
(function () {
        'use strict';
        angular
                .module('app')
                .factory('MensagensService', MensagensService);
        function MensagensService() {
            var service = {};
            service.mostraMsgErro = mostraMsgErro;
            return service;
            function mostraMsgErro() {
                $("#mensagens").fadeIn(function () {
                    window.setTimeout(function () {
                        $('#mensagens').fadeOut();
                    }, 2500);
                });
            }
        }
    })();
Is this approach correct? I mean, is this really the best way to implement it? If not, what is the most appropriate way to deal with this issue of warnings (Alerts), which I believe is trivial?
You could create a directive or Component for this
– Fabio Silva Lima
This is a detail if you really want to use jquery for this use within $timeout of Angularjs. You may have a problem if you don’t use the $timeout.
– Fabio Silva Lima
Why don’t you use a lib to manage alerts? https://github.com/JanStevens/angular-growl-2
– DiegoAugusto
Thanks for the feedback. Fabio,
– fnx
Thanks for the answers. I believe the angular lib-Growl will suit me perfectly!
– fnx