【备忘录】angular的alertService

/**
* A message utility service
* @class alertService
*/
services.factory('alertService', ['$rootScope', '$timeout', function($rootScope, $timeout){
  var alertFactory = {};
  /**
  * 初始化alerts
  */
  $rootScope.alerts = [];

  /**
  * add a message
  *
  * @method add
  * @param {String} message type: success | error
  * @param {String} message content
  */
  alertFactory.add = function(type, msg){
    $rootScope.alerts.push({'type':type, 'msg':msg, 'close':function(){ alertFactory.close(this); }});
    console.log($rootScope.alerts);
    $timeout(function(){
      $rootScope.alerts.splice(0, 1);
    }, suncloudAppConfig.alertTime);
  };

  /**
  * delete a message
  *
  * @method close
  * @param {Object} message object
  */
  alertFactory.close = function(alert){
    alertFactory.closeByIndex($rootScope.alerts.indexOf(alert));
  };

  /**
  * delete a message by index
  *
  * @method closeByIndex
  * @param {Number} index
  */
  alertFactory.closeByIndex = function(index){
    $rootScope.alerts.splice(index, 1);
  };

  return alertFactory;
}]);

posted @ 2014-06-27 17:12  xiaoroad  阅读(193)  评论(0)    收藏  举报