zoukankan      html  css  js  c++  java
  • AngularJs轮询器写法


    $interval

    $interval 是对原生setInterval的一种封装,它会在每次方法调用后自动的执行`$apply``
    api是这样的:

    1
    $interval(fn, delay, [count], [invokeApply], [Pass]);

    fn是目标方法

    delay 是延迟时间,单位是毫秒

    count 是一共循环多少次

    invokeApply 是指是否调用$apply方法,默认true

    Pass是方法运行是传的参数

    • 对文章开始代码进行改写
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    app.controller('dataCtrl', function($scope, $http, $filter) {
    $scope.process = 0;
    $scope.visible = false;//
    var p = $interval(function() {
    if ($scope.process >= 100) {
    $scope.visible = false;
    }
    }, 500);
       // $interval.cancel(p); 取消
       // some code
    }

    在controller加入以下代码

    var stop;

     $scope.$on('$ionicView.beforeLeave', function() {

                $interval.cancel(stop);//离开页面后停止轮询

        })

     //轮询

          stop = $interval(function() {

                $http.get('/staffMessage/staffMessageList?pageIndex=1&pageSize=10')

                    .success(function(result) {

                        $scope.data = result;

                    }).finally(function() {});

            }, 6000);

    在controller注入一下代码:

     

    结尾附官网地址(可能要翻墙):https://docs.angularjs.org/api/ng/service/$interval

  • 相关阅读:
    mongoDB
    邮箱认证
    Django中开启事务的两种方式
    总结
    __new__和__init__和__call__方法理解
    jupyter
    text()和html()区别
    django模型中auto_now和auto_now_add的区别
    ajax嵌套陷阱
    模板内置函数(HTML)
  • 原文地址:https://www.cnblogs.com/earl-yongchang/p/5520252.html
Copyright © 2011-2022 走看看