angular $interval怎么在一个按钮上实现开始定时和结束定时

发布于 2022-09-04 08:58:59 字数 550 浏览 15 评论 0

我代码逻辑如下,想要实现:

  1. 点击查询按钮,开启定时,按钮文案变成停止查询,

  2. 点击停止查询,取消定时

$scope.submitRequest = function () {
    if ($scope.onlyButton == "查询") {
         $scope.onlyButton = "停止查询";
            $interval(function()
                {
                    //具体方法
                }
                ,5000);
            }
    else{
         setTimeout(function(){
            $scope.onlyButton = "查询";
            $interval.cancel(stop);
            },0)
        };
    }
    

但是没有成功取消定时,求帮忙...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

枕花眠 2022-09-11 08:58:59

clipboard.png

别在捏我脸啦 2022-09-11 08:58:59

LZ的代码完全可以在外面做一个 状态标示, 例如:

var interval;
$scope.startStatus = false;

$scope.submitRequest = function(){

    if( !$scope.startStatus ){
        interval = $interval(...);
    } else {
        $interval.cancel(interval);  
    }
    
    $scope.startStatus = !$scope.startStatus;
    
}

然后在VIEW中直接类似使用:

<button ng-bind=" !startStatus ? '查询' : '停止查询' "></button>

我觉得这样写好些~

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文