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类定义例子
Sep 12 Javascript
点击下载链接 弹出页面实现代码
Oct 01 Javascript
网页中返回顶部代码(多种方法)另附注释说明
Apr 24 Javascript
Javascript基础教程之for循环
Jan 18 Javascript
详解JavaScript中的blink()方法的使用
Jun 08 Javascript
JS+CSS实现带有碰撞缓冲效果的竖向导航条代码
Sep 15 Javascript
jqGrid中文文档之选项设置
Dec 02 Javascript
全面了解javascript三元运算符
Jun 27 Javascript
解析js如何获取css样式
Dec 11 Javascript
vue2过滤器模糊查询方法
Sep 16 Javascript
layui自定义插件citySelect实现省市区三级联动选择
Jul 26 Javascript
使用Vue Composition API写出清晰、可扩展的表单实现
Jun 10 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
Protoss兵种对照表
2020/03/14 星际争霸
PHP中Session的概念
2006/10/09 PHP
php5.5新数组函数array_column使用
2013/07/08 PHP
php等比例缩放图片及剪切图片代码分享
2016/02/13 PHP
php设计模式之装饰模式应用案例详解
2019/06/17 PHP
laravel 实现划分admin和home 模块分组
2019/10/15 PHP
jquery HotKeys轻松搞定键盘事件代码
2008/08/30 Javascript
JavaScript 继承详解(四)
2009/07/13 Javascript
Javascript 检测键盘按键信息及键码值对应介绍
2013/01/03 Javascript
使用javascript控制cookie显示和隐藏背景图
2014/02/12 Javascript
javascript删除元素节点removeChild()用法实例
2015/05/26 Javascript
JavaScript判断图片是否已经加载完毕的方法汇总
2016/02/05 Javascript
理解javascript中Map代替循环
2016/02/26 Javascript
基于JS实现移动端访问PC端页面时跳转到对应的移动端网页
2020/12/24 Javascript
jQuery实现点击任意位置弹出层外关闭弹出层效果
2016/10/19 Javascript
详解JavaScript中的属性和特性
2016/12/08 Javascript
BootStrap便签页的简单应用
2017/01/06 Javascript
jQuery实现动态生成表格并为行绑定单击变色动作的方法
2017/04/17 jQuery
说说Vue.js中的functional函数化组件的使用
2019/02/12 Javascript
微信小程序学习笔记之获取位置信息操作图文详解
2019/03/29 Javascript
vue操作动画的记录animate.css实例代码
2019/04/26 Javascript
Vue动态面包屑功能的实现方法
2019/07/01 Javascript
vue实现下拉菜单树
2020/10/22 Javascript
[00:32]2018DOTA2亚洲邀请赛出场——LGD
2018/04/04 DOTA
python自定义异常实例详解
2017/07/11 Python
Python 查看list中是否含有某元素的方法
2018/06/27 Python
详解Python利用configparser对配置文件进行读写操作
2020/11/03 Python
python 动态渲染 mysql 配置文件的示例
2020/11/20 Python
在浏览器端如何得到服务器端响应的XML数据
2012/11/24 面试题
Java程序开发中如何应用线程
2016/03/03 面试题
团工委书记自荐书范文
2013/12/17 职场文书
艺人经纪人岗位职责
2014/04/15 职场文书
2014年党员自我剖析材料
2014/10/07 职场文书
正规借条模板
2015/05/26 职场文书
AJAX学习笔记
2021/05/18 Javascript
图神经网络GNN算法
2022/05/11 Python