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 EasyUI API 中文文档 - NumberSpinner数值微调器使用介绍
Oct 21 Javascript
javascript编码的几个方法详细介绍
Jan 06 Javascript
网站内容禁止复制和粘贴、另存为的js代码
Feb 26 Javascript
浅谈JavaScript的push(),pop(),concat()方法
Jun 03 Javascript
基于AGS JS开发自定义贴图图层
Mar 31 Javascript
BootStrap实现文件上传并带有进度条效果
Sep 11 Javascript
vue 运用mock数据的示例代码
Nov 07 Javascript
使用vue-router为每个路由配置各自的title
Jul 30 Javascript
vue-cli项目中使用echarts图表实例
Oct 22 Javascript
angularjs http与后台交互的实现示例
Dec 21 Javascript
使用vue完成微信公众号网页小记(推荐)
Apr 28 Javascript
理解JavaScript中的Proxy 与 Reflection API
Sep 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
PHP新手上路(十一)
2006/10/09 PHP
php中smarty变量修饰用法实例分析
2015/06/11 PHP
php使用自定义函数实现汉字分割替换功能示例
2017/01/30 PHP
javascript检查日期格式的函数[比较全]
2008/10/17 Javascript
JavaScript获取多个数组的交集简单实例
2013/11/11 Javascript
按Enter键触发事件的jquery方法实现代码
2014/02/17 Javascript
node.js中的fs.chownSync方法使用说明
2014/12/16 Javascript
jQuery判断数组是否包含了指定的元素
2015/03/10 Javascript
JavaScript中的闭包介绍
2015/03/15 Javascript
jQuery插件echarts设置折线图中折线线条颜色和折线点颜色的方法
2017/03/03 Javascript
jQuery实现验证表单密码一致性及正则表达式验证邮箱、手机号的方法
2017/12/05 jQuery
babel之配置文件.babelrc入门详解
2018/02/22 Javascript
vue router总结 $router和$route及router与 router与route区别
2019/07/05 Javascript
解决layer图标icon不加载的问题
2019/09/04 Javascript
Vue两个版本的区别和使用方法(更深层次了解)
2020/02/16 Javascript
vue setInterval 定时器失效的解决方式
2020/07/30 Javascript
Vue自定义组件双向绑定实现原理及方法详解
2020/09/03 Javascript
vue实现滚动鼠标滚轮切换页面
2020/12/13 Vue.js
[14:20]刀塔大凶女神互压各路奇葩屌丝
2014/05/16 DOTA
Python ORM框架SQLAlchemy学习笔记之数据查询实例
2014/06/10 Python
python实现堆栈与队列的方法
2015/01/15 Python
Python Flask基础教程示例代码
2018/02/07 Python
Python转换时间的图文方法
2019/07/01 Python
Pandas之排序函数sort_values()的实现
2019/07/09 Python
python flask web服务实现更换默认端口和IP的方法
2019/07/26 Python
对Pytorch中nn.ModuleList 和 nn.Sequential详解
2019/08/18 Python
Python基础之高级变量类型实例详解
2020/01/03 Python
python 最简单的实现适配器设计模式的示例
2020/06/30 Python
美国最大的珠宝商之一:Littman Jewelers
2016/11/13 全球购物
荷兰皇家航空公司官方网站:KLM Royal Dutch Airlines
2017/12/07 全球购物
.NET是怎么支持多种语言的
2015/02/24 面试题
学期自我评价
2014/01/27 职场文书
三分钟演讲稿事例
2014/03/03 职场文书
经济管理毕业生求职信
2014/03/15 职场文书
2014年宣传工作总结
2014/11/18 职场文书
Python中的np.argmin()和np.argmax()函数用法
2021/06/02 Python