AngularJS使用拦截器实现的loading功能完整实例


Posted in Javascript onMay 17, 2017

本文实例讲述了AngularJS使用拦截器实现的loading功能。分享给大家供大家参考,具体如下:

<!DOCTYPE html>
<html lang="zh-CN" ng-app="myApp">
 <head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <script src="jquery.min.js"></script>
  <script src="angular.js"></script>
  <link rel="stylesheet" href="bootstrap.min.css" rel="external nofollow" >
  <style type="text/css">
    .mask-loading .loading-icon {
      -webkit-animation: rotate 1s linear infinite;
      -o-animation: rotate 1s linear infinite;
      animation: rotate 1s linear infinite;
      position: absolute;
      top: 50%;
      left: 50%;
      width: 30px;
      height: 30px;
      margin: -20px 0 0 -20px;
      border-width: 5px;
      border-style: solid;
      border-color: #37c3aa #37c3aa #fff #fff;
      opacity: .9;
      border-radius: 20px;
    }
    @-webkit-keyframes rotate{
     0% {-webkit-transform:rotate(0)}
     100% {-webkit-transform:rotate(360deg)}
    }
    @keyframes rotate{
     0% {transform:rotate(0)}
     100% {transform:rotate(360deg)}
    }
    .mask-loading {
     position:fixed;
     top:0;
     right:0;
     bottom:0;
     left:0;
     background:0 0;
     z-index:9999;
    }
  </style>
  <script type="text/javascript" src="angular-ui-router.js"></script>
  <script type="text/javascript" src="angular-animate.js"></script>
  <script type="text/javascript">
   var myApp = angular.module('myApp', ['ui.router', 'ngAnimate']);
   myApp.config(["$stateProvider", "$httpProvider", '$urlRouterProvider', function ($stateProvider, $httpProvider, $urlRouterProvider) {
     $stateProvider
     .state('a', {
       url: '/a',
       templateUrl: "loadpath/a.html",
       controller: "aController"
     })
     .state('b', {
       url: '/b',
       templateUrl: "loadpath/b.html",
       controller: "bController"
     });
     $urlRouterProvider.otherwise('/');
     $httpProvider.interceptors.push('myInterceptor');
   }]);
   //loading
   myApp.factory('myInterceptor', ["$rootScope", function ($rootScope) {
     var timestampMarker = {
       request: function (config) {
         $rootScope.loading = true;
         return config;
       },
       response: function (response) {
        $rootScope.loading = false;
         return response;
       }
     };
     return timestampMarker;
   }]);
   myApp.controller('aController', function($scope) {
    $scope.page = "a";
   });
   myApp.controller('bController', function($scope) {
    $scope.page = "b";
   });
  </script>
 </head>
 <body>
  <h1>index</h1>
  <div id="mask-loading" class="mask-loading" ng-if="loading" style="background-color: rgba(0, 0, 0, 0.17);">
    <div class="loading-icon"></div>
  </div>
  <div ui-view></div>
  <a ui-sref="a">go to a.html</a>
  <br/>
  <a ui-sref="b">go to b.html</a>
 </body>
</html>

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

Javascript 相关文章推荐
jQuery 点击图片跳转上一张或下一张功能的实现代码
Mar 12 Javascript
JS实现静止元素自动移动示例
Apr 14 Javascript
javascript使用prototype完成单继承
Dec 24 Javascript
浅谈jquery事件处理
Apr 24 Javascript
JavaScript获取URL中参数querystring的方法详解
Oct 11 Javascript
CSS+jQuery实现简单的折叠菜单
Dec 20 Javascript
BootStrap Fileinput插件和Bootstrap table表格插件相结合实现文件上传、预览、提交的导入Excel数据操作步骤
Aug 07 Javascript
js注册时输入合法性验证方法
Oct 21 Javascript
如何使用less实现随机下雪动画详解
Jan 02 Javascript
利用Vue-draggable组件实现Vue项目中表格内容的拖拽排序
Jun 07 Javascript
JS实现的定时器展示简单秒表、页面弹框及跳转操作完整示例
Jan 26 Javascript
微信小程序 接入腾讯地图的两种写法
Jan 12 Javascript
微信小程序城市定位的实现实例(获取当前所在国家城市信息)
May 17 #Javascript
微信小程序如何获知用户运行小程序的场景教程
May 17 #Javascript
bootstrap轮播图示例代码分享
May 17 #Javascript
bootstrap警告框示例代码分享
May 17 #Javascript
微信小程序中做用户登录与登录态维护的实现详解
May 17 #Javascript
Angular获取手机验证码实现移动端登录注册功能
May 17 #Javascript
原生JS实现层叠轮播图
May 17 #Javascript
You might like
php实现从ftp服务器上下载文件树到本地电脑的程序
2009/02/10 PHP
php中session使用示例
2014/03/29 PHP
模板引擎smarty工作原理以及使用示例
2014/05/25 PHP
PHP中的output_buffering详细介绍
2014/09/27 PHP
PHP内存使用情况如何获取
2015/10/10 PHP
smarty自定义函数用法示例
2016/05/20 PHP
php实现文件管理与基础功能操作
2017/03/21 PHP
PHP大文件分割上传 PHP分片上传
2017/08/28 PHP
常用一些Javascript判断函数
2012/08/14 Javascript
JavaScript解析URL参数示例代码
2013/08/12 Javascript
JS通过相同的name进行表格求和代码
2013/08/18 Javascript
JQuery实现超链接鼠标提示效果的方法
2015/06/10 Javascript
vue mounted组件的使用
2018/06/18 Javascript
JS简单数组排序操作示例【sort方法】
2019/05/17 Javascript
vue如何自动化打包测试环境和正式环境的dist/test文件
2019/06/06 Javascript
vuejs+element UI table表格中实现禁用部分复选框的方法
2019/09/20 Javascript
Vue使用自定义指令实现拖拽行为实例分析
2020/06/06 Javascript
Vue实现点击箭头上下移动效果
2020/06/11 Javascript
JavaScript eval()函数定义及使用方法详解
2020/07/07 Javascript
实例讲解React 组件
2020/07/07 Javascript
[01:45]典藏宝瓶2+祈求者身心——这就是DOTA2TI9总奖金突破3000万美元的秘密
2019/07/21 DOTA
Python中str is not callable问题详解及解决办法
2017/02/10 Python
基于ID3决策树算法的实现(Python版)
2017/05/31 Python
TensorFlow saver指定变量的存取
2018/03/10 Python
python 创建一个空dataframe 然后添加行数据的实例
2018/06/07 Python
Python爬虫实现验证码登录代码实例
2019/05/10 Python
Python中过滤字符串列表的方法
2020/12/22 Python
CSS3贝塞尔曲线示例:创建链接悬停动画效果
2020/11/19 HTML / CSS
纯CSS3实现运行时钟的示例代码
2021/01/25 HTML / CSS
联想台湾官网:Lenovo TW
2018/05/09 全球购物
美丽的珠宝配饰:SmallThings
2019/09/04 全球购物
七年级历史教学反思
2014/02/05 职场文书
2014年创卫实施方案
2014/02/18 职场文书
人民币使用说明书
2019/04/17 职场文书
正确使用MySQL update语句
2021/05/26 MySQL
MySQL 常见存储引擎的优劣
2021/06/02 MySQL