2017-04-06 8 views
0

私は最近JHipsterで発見して開発を開始しました。JHipsterのアラートを自動的に閉じる方法は?

私が直面している最初のハードルの1つは、自動的にアラートを閉じることです。これまでのところ、私はJHipsterがBootstrap UI alertsを使用していることを学んだので、私は、ユーザーが(緑色で1)にログインしようとするとホームに示されているsample project of JHipsterにバンドルされたアラートを、適応しようとしている:

enter image description here次のように警告の

HTMLコードは:

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

Javascri:私はこのような変更

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

ptファイル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

JHipsterは、あなたが(例えば情報、警告、危険など)を作成したいメッセージの種類を作成するために、サービスとしてAlertServiceを使用して、メッセージがタグで表示されます。サンプルアプリケーションのエンティティを見て、jhi-alertというタグが表示されていることを確認してください。 htmlサイトにタグを書き、作成して表示するメッセージをAlertServiceでコントローラに作成します。

@GaëlMarziouあなたの答えは、実際にシーンの後ろに起こっていることの深いものでした。見てもいい?

+0

あなたの答えをありがとう。私はこれを試してみました: _controllerは:_ 'AlertService.warning( "こんにちは、私は警告アラートよ。");' _VIEW:_ '' 私は要素からこれを取得しますChromeのデバッグ担当者: '

警告は表示されません。まだ何かが間違っています。 – wickedchild

+0

gulp cleanビルドを試してください。 sample-appの他のエンティティを編集している場合(例:ラベルまたは銀行口座、アラートを受け取っていますか?たとえば、エンティティを作成または編集するときは、情報アラートを受け取る必要があります。 – duderoot

+0

確かに、私はそれらの警告を受け取ります。プロジェクト全体を再構築しようとしましたが、改善はありません。 AngularJSアラートを現在使用しようとしています。助けてくれてありがとう! – wickedchild

関連する問題