AngularJS全局警告框实现方法示例


Posted in Javascript onMay 18, 2017

本文实例讲述了AngularJS全局警告框实现方法。分享给大家供大家参考,具体如下:

<!DOCTYPE html>
<html lang="zh-CN">
 <head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="bootstrap.min.css" rel="external nofollow" >
  <script src="jquery.min.js"></script>
  <script src="angular.js"></script>
  <script src="angular-animate.js"></script>
  <script src="bootstrap.min.js"></script>
  <script type="text/javascript">
    var myapp = angular.module('myapp', ['ngAnimate']);
    myapp.controller('msgController', ['$scope', 'notificationService', function($scope, notificationService) {
      $scope.msg = notificationService;
      $scope.show = function() {
        notificationService.danger('success');
      }
    }]);
    myapp.controller('controller', ['$scope', 'notificationService', function($scope, notificationService) {
      $scope.show = function() {
        notificationService.info('info');
      }
    }]);
    myapp.directive('msgBox', function() {
      return {
        restrict : 'EA',
        scope : {
          content: '@',
          type: '@',
        },
        templateUrl : 'tmpl.html',
        link : function(scope, elem, attrs) {
          scope.close = function() {
            scope.content = '';
          };
        }
      };
    });
    myapp.factory('notificationService', function($timeout, $rootScope) {
      return {
        content : '',
        type : '',
        success : function(content) {
          this.tmpl(content, 'success')
        },
        info : function(content) {
          this.tmpl(content, 'info')
        },
        warning : function(content) {
          this.tmpl(content, 'warning')
        },
        danger : function(content) {
          this.tmpl(content, 'danger')
        },
        tmpl : function(content, type) {
          this.content = content;
          this.type = type;
          var _self = this;
          $timeout(function() {
            _self.clear();
          }, 5000);
        },
        clear : function() {
          this.content = '';
          this.type = '';
        }
      };
    });
  </script>
  <style type="text/css">
    .msg-box {
      z-index: 666;
      position: absolute;
      width: 100%;
      top: 5px;
    }
    .msg.ng-enter {
      transition: 2s linear all;
      opacity: 0.3;
    }
    .msg.ng-enter-active {
      opacity: 1;
    }
    .msg.ng-leave {
      transition: 2s linear all;
      opacity: 1;
    }
    .msg.ng-leave-active {
      opacity: 0;
    }
  </style>
 </head>
 <body ng-app="myapp" ng-controller="msgController">
   <msg-box content="{{msg.content}}" type="{{msg.type}}" class="msg-box">
   </msg-box>
   <h1>content</h1>
   <button type="button" class="btn btn-primary" ng-click="show()">success</button>
   <div ng-controller="controller">
    <button type="button" class="btn btn-primary" ng-click="show()">info</button>
   </div>
 </body>
</html>
<div class="alert alert-{{type || 'info'}} msg" role="alert" ng-if="content">
 <button type="button" class="close" aria-label="Close" ng-click="close()">
  <span aria-hidden="true">×</span>
 </button>
 {{content}}
</div>

希望本文所述对大家AngularJS程序设计有所帮助。

Javascript 相关文章推荐
jquery ui 1.7 ui.tabs 动态添加与关闭(按钮关闭+双击关闭)
Apr 01 Javascript
jQuery使用andSelf()来包含之前的选择集
May 19 Javascript
jquery实现当滑动到一定位置时固定效果
Jun 17 Javascript
谈谈PHP中相对路径的问题与绝对路径的使用
Aug 16 Javascript
BootstrapTable refresh 方法使用实例简单介绍
Feb 20 Javascript
详解探索 vuex 2.0 以及使用 vuejs 2.0 + vuex 2.0 构建记事本应用
Jun 16 Javascript
vue2.0设置proxyTable使用axios进行跨域请求的方法
Oct 19 Javascript
JavaScript数组特性与实践应用深入详解
Dec 30 Javascript
vue基础之使用get、post、jsonp实现交互功能示例
Mar 12 Javascript
浅谈Vue3.0之前你必须知道的TypeScript实战技巧
Sep 11 Javascript
前端实现滑动按钮AJAX与后端交互的示例代码
Feb 24 Javascript
element tree树形组件回显数据问题解决
Aug 14 Javascript
第一次记录Bootstrap table学习笔记(1)
May 18 #Javascript
原生js轮播特效
May 18 #Javascript
js实现放大镜特效
May 18 #Javascript
vue v-on监听事件详解
May 17 #Javascript
vue v-model表单控件绑定详解
May 17 #Javascript
Bootstrap 表单验证formValidation 实现表单动态验证功能
May 17 #Javascript
JavaScript中offsetWidth的bug及解决方法
May 17 #Javascript
You might like
PHP在引号前面添加反斜杠(PHP去除反斜杠)
2013/09/28 PHP
使用PHP强制下载PDF文件示例
2014/01/17 PHP
php+html5实现无刷新图片上传教程
2016/01/22 PHP
thinkphp项目部署到Linux服务器上报错“模板不存在”如何解决
2016/04/27 PHP
PHP实现的曲线统计图表示例
2016/11/10 PHP
jquery插件实现鼠标经过图片右侧显示大图的效果(类似淘宝)
2013/02/04 Javascript
js 赋值包含单引号双引号问题的解决方法
2014/02/26 Javascript
setInterval计时器不准的问题解决方法
2014/05/08 Javascript
用js一次改变多个input的readonly属性值的方法
2014/06/11 Javascript
js中获取 table节点各tr及td的内容简单实例
2016/10/14 Javascript
layui表格实现代码
2017/05/20 Javascript
nodejs express配置自签名https服务器的方法
2018/05/22 NodeJs
一文读懂ES7中的javascript修饰器
2019/05/06 Javascript
史上最为详细的javascript继承(推荐)
2019/05/18 Javascript
javascript实现的时间格式加8小时功能示例
2019/06/13 Javascript
微信小程序pinker组件使用实现自动相减日期
2020/05/07 Javascript
PyCharm代码整体缩进,反向缩进的方法
2018/06/25 Python
Python使用pyautogui模块实现自动化鼠标和键盘操作示例
2018/09/04 Python
Python实现个人微信号自动监控告警的示例
2019/07/03 Python
pandas通过字典生成dataframe的方法步骤
2019/07/23 Python
python3获取当前目录的实现方法
2019/07/29 Python
Python Selenium 之数据驱动测试的实现
2019/08/01 Python
python3 配置logging日志类的操作
2020/04/08 Python
python中rc1什么意思
2020/06/19 Python
利用纯css3实现的文字亮光特效的代码演示
2014/11/27 HTML / CSS
以太网Ethernet IEEE802.3
2013/08/05 面试题
静态成员和非静态成员的区别
2012/05/12 面试题
教学器材管理制度
2014/01/26 职场文书
医疗纠纷协议书
2014/04/16 职场文书
法制宣传月活动总结
2014/04/29 职场文书
学校食品安全实施方案
2014/06/14 职场文书
写字楼租赁意向书
2014/07/30 职场文书
2015教师年度考核评语
2015/03/25 职场文书
小学四年级班务总结该怎么写?
2019/08/16 职场文书
python开发飞机大战游戏
2021/07/15 Python
el-form每行显示两列底部按钮居中效果的实现
2022/08/05 HTML / CSS