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 相关文章推荐
使用Javascript和DOM Interfaces来处理HTML
Oct 09 Javascript
jquery ui resizable bug解决方法
Oct 26 Javascript
查找iframe里元素的方法可传参
Sep 11 Javascript
AngularJS优雅的自定义指令
Jul 01 Javascript
jQuery学习笔记之回调函数
Aug 15 Javascript
bootstrap模态框垂直居中效果
Dec 03 Javascript
windows下vue.js开发环境搭建教程
Mar 20 Javascript
详解vuex 中的 state 在组件中如何监听
May 23 Javascript
Bootstrap Table使用整理(二)
Jun 09 Javascript
vue-router 前端路由之路由传值的方式详解
Apr 30 Javascript
vue-cli3项目升级到vue-cli4 的方法总结
Mar 19 Javascript
解决vue.js中settimeout遇到的问题(时间参数短效果不稳定)
Jul 21 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
php5 and xml示例
2006/11/22 PHP
PHP insert语法详解
2008/06/07 PHP
Yii框架中jquery表单验证插件用法示例
2016/10/18 PHP
PHP文件类型检查及fileinfo模块安装使用详解
2019/05/09 PHP
javascript CSS画图之基础篇
2009/07/29 Javascript
JavaScript DOM学习第四章 getElementByTagNames
2010/02/19 Javascript
详解javascript数组去重问题
2015/11/06 Javascript
jquery无限级联下拉菜单简单实例演示
2015/11/23 Javascript
jQuery ajax实现省市县三级联动
2021/03/07 Javascript
Vue使用watch监听一个对象中的属性的实现方法
2019/05/10 Javascript
详解一次Vue低版本安卓白屏问题的解决过程
2019/05/30 Javascript
Vue 3.0 前瞻Vue Function API新特性体验
2019/08/12 Javascript
简单分析js中的this的原理
2019/08/31 Javascript
JS实现表单中点击小眼睛显示隐藏密码框中的密码
2020/04/13 Javascript
Nuxt的路由配置和参数传递方式
2020/11/06 Javascript
浅析JavaScript中的事件委托机制跟深浅拷贝
2021/01/20 Javascript
python使用datetime模块计算各种时间间隔的方法
2015/03/24 Python
在Python中测试访问同一数据的竞争条件的方法
2015/04/23 Python
Python3使用requests包抓取并保存网页源码的方法
2016/03/15 Python
Python Pandas 获取列匹配特定值的行的索引问题
2019/07/01 Python
Python开发之pip安装及使用方法详解
2020/02/21 Python
Jupyter安装链接aconda实现过程图解
2020/11/02 Python
CSS3混合模式mix-blend-mode/background-blend-mode简介
2018/03/15 HTML / CSS
巴基斯坦电子产品购物网站:Home Shopping
2017/09/14 全球购物
英国时尚泳装品牌:Maru Swimwear
2019/10/06 全球购物
创意爱尔兰礼物:Creative Irish Gifts
2020/01/29 全球购物
高校毕业生自我鉴定
2013/10/27 职场文书
村党的群众路线教育实践活动工作总结
2014/10/25 职场文书
领导欢迎词范文
2015/01/26 职场文书
餐饮食品安全责任书
2015/01/29 职场文书
高中生综合素质评价范文
2015/08/18 职场文书
pytorch加载预训练模型与自己模型不匹配的解决方案
2021/05/13 Python
如何使用Tkinter进行窗口的管理与设置
2021/06/30 Python
Nginx部署vue项目和配置代理的问题解析
2021/08/04 Servers
关于Python使用turtle库画任意图的问题
2022/04/01 Python
Python Flask实现进度条
2022/05/11 Python