如何在JHipster上自动关闭提醒?

时间:2017-04-06 15:09:32

标签: javascript angularjs angular-ui-bootstrap jhipster

我最近发现并开始在JHipster中开发。

我面临的第一个障碍之一就是自动关闭警报。到目前为止,我已经了解到JHipster使用了Bootstrap UI alerts,所以我正在尝试调整sample project of JHipster中捆绑的警报,这些警报在用户尝试登录时显示在主页中(绿色):

enter image description here

警报的HTML代码如下:

        <div ng-switch="vm.isAuthenticated()">
            <div class="alert alert-success" ng-switch-when="true" data-translate="home.logged.message" translate-values="{username: '{{vm.account.login}}'}">
                You are logged in as user "{{vm.account.login}}".
            </div>
        </div>

我修改了这样的内容:

            <div class="alert alert-success" ng-switch-when="true" data-translate="home.logged.message" translate-values="{username: '{{vm.account.login}}'}" close="closeAlert()" ng-if="show" dismiss-on-timeout="3000" >
                You are logged in as user "{{vm.account.login}}".
            </div>

Javascript文件home.controller.js如下所示:

(function() {
'use strict';

angular
    .module('pruebablogApp')
    .controller('HomeController', HomeController);

HomeController.$inject = ['$scope', 'Principal', 'LoginService', '$state', 'AlertService'];

function HomeController ($scope, Principal, LoginService, $state, AlertService) {
    var vm = this;

    vm.account = null;
    vm.isAuthenticated = null;
    vm.login = LoginService.open;
    vm.register = register;
    $scope.$on('authenticationSuccess', function() {

        getAccount();
    });

    getAccount();

    function getAccount() {
        Principal.identity().then(function(account, $scope) {
            vm.account = account;
            vm.isAuthenticated = Principal.isAuthenticated;

            if (vm.isAuthenticated){
                $scope.show = true;
                }

        });
    }
    function register () {
        $state.go('register');
    }


    function closeAlert () {
        $scope.show = false;
    }
}
})();

这种方法对我不起作用。我尝试了其他方法,例如this onethis one(这应该适用于按钮点击)。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

JHipster正在使用AlertService作为服务来创建您要创建的消息类型(例如信息,警告,危险等),并且消息显示为 标签。查看示例应用中的实体,查看标记jhi-alert的实际效果。您只需在html站点中编写标记,然后在控制器中使用AlertService创建要创建和显示的消息。

@GaëlMarziou你的回答更深入了解幕后实际发生的事情。我能看到吗?