13

私は何をしたいですか?

他のアプリと同様に、アラートが表示されると、1秒ほどで非表示になります。1秒後にアラートを非表示にする方法を見つけようとしていますが、その方法がわかりません

どんな助けでも大歓迎です

アップデート

@Derekの回答によると、タイムアウト
http://plnkr.co/edit/uqSB1gIz6XEmJfC8zHNb?p=previewを実装できます

4

2 に答える 2

4

@daydreamer によって作成された plunker を更新して、複数のアラートを表示し、自動的に非表示にしました。複数のアラートをカスタマイズしたい場合は、このPlunker Linkをご覧ください

コードの半分は @DerekR と同じですが、カスタマイズしただけです

var app = angular.module('myApp', ['$strap.directives']);

app.directive('notification', function($timeout){
  return {
    restrict: 'E',
    replace: true,
    scope: {
      ngModel: '='
    },
    template: '<div class="alert fade" bs-alert="ngModel"></div>',
    link: function(scope, element, attrs) {
      $timeout(function(){
        element.hide();
      }, 3000);
    }
  }
});

app.controller('AlertController', function($scope){
    $scope.message = {
      "type": "info",
      "title": "Success!",
      "content": "alert directive is working pretty well with 3 sec timeout"
    };

    $scope.alerts = [];
    $scope.addAlert = function(index) {
      $scope.alerts.push(
          {
            "type": "info",
            "title": "Success!" + index,
            "content": "alert "  + index + " directive is working pretty well with 3 sec timeout"
          }
      )
    }
});
于 2015-10-17T12:59:37.427 に答える