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插件的写法分享
Jun 12 Javascript
js data日期初始化的5种方法
Dec 29 Javascript
动态加载jQuery的方法
Jun 16 Javascript
JavaScript中字面量与函数的基本使用知识
Oct 20 Javascript
Angularjs 制作购物车功能实例代码
Sep 14 Javascript
简单实现jquery焦点图
Dec 12 Javascript
微信小程序 配置文件详细介绍
Dec 14 Javascript
微信小程序去哪里找 小程序到底如何使用(附小程序名单)
Jan 09 Javascript
JavaScript 数组去重并统计重复元素出现的次数实例
Dec 14 Javascript
Layui给数据表格动态添加一行并跳转到添加行所在页的方法
Aug 20 Javascript
可能被忽略的一些JavaScript数组方法细节
Feb 28 Javascript
Javascript实现一朵从含苞到绽放的玫瑰
Mar 30 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网站基础优化方法小结
2008/09/29 PHP
PHP中比较两个字符串找出第一个不同字符位置例子
2014/04/08 PHP
从零开始学YII2框架(六)高级应用程序模板
2014/08/20 PHP
用javascript实现在小方框中浏览大图的代码
2007/08/14 Javascript
Fixie.js 自动填充内容的插件
2012/06/28 Javascript
eval的两组性能测试数据
2012/08/17 Javascript
jQuery实现单行文字间歇向上滚动源代码
2013/06/02 Javascript
node.js中的fs.utimesSync方法使用说明
2014/12/15 Javascript
15款jQuery分布引导插件分享
2015/02/04 Javascript
js实现iframe自动自适应高度的方法
2015/02/17 Javascript
js实现文本框选中的方法
2015/05/26 Javascript
js/jq仿window文件夹框选操作插件
2017/03/08 Javascript
NodeJS 中Stream 的基本使用
2018/07/30 NodeJs
JQuery Ajax跨域调用和非跨域调用问题实例分析
2019/04/16 jQuery
Vue多环境代理配置方法思路详解
2019/06/21 Javascript
jquery实现掷骰子小游戏
2019/10/24 jQuery
JQuery中的常用事件、对象属性与使用方法分析
2019/12/23 jQuery
vue深度监听(监听对象和数组的改变)与立即执行监听实例
2020/09/04 Javascript
vue 在服务器端直接修改请求的接口地址
2020/12/19 Vue.js
python写入数据到csv或xlsx文件的3种方法
2019/08/23 Python
django框架cookie和session用法实例详解
2019/12/10 Python
解决TensorFlow训练内存不断增长,进程被杀死问题
2020/02/05 Python
基于Python的OCR实现示例
2020/04/03 Python
python 6行代码制作月历生成器
2020/09/18 Python
详解CSS3 弹性布局快速入门
2019/06/06 HTML / CSS
日本必酷网络直营店:Biccamera
2019/03/23 全球购物
如何写出高性能的JSP和Servlet
2013/01/22 面试题
房地产融资计划书
2014/01/10 职场文书
自行车租赁公司创业计划书
2014/01/28 职场文书
医院总经理岗位职责
2014/02/04 职场文书
产品发布会策划方案
2014/05/12 职场文书
营销总经理岗位职责范本
2014/09/02 职场文书
小学校园广播稿集锦
2014/10/04 职场文书
企业年会祝酒词
2015/08/11 职场文书
学习心理学心得体会
2016/01/22 职场文书
python实现批量移动文件
2021/04/05 Python