gpt4 book ai didi

javascript - 防止在 angularjs 中单击按钮两次

转载 作者:行者123 更新时间:2023-11-28 15:16:16 25 4
gpt4 key购买 nike

我正在 angularjs 中工作,并且是新手,我使用它制作了一个应用程序。

我的应用程序中有几个页面,现在我的问题是我有两个导航到其他页面的按钮,但我的问题是当我单击按钮(跨度)时,它会打开同一页面两次。

谁能帮我解决这个问题吗?我的代码如下:

javascript

  $scope.foo = function() {
if ($scope.filterflg !== "1" ) {
$scope.filterflg = "1";
$scope.disabled = true;


gallery.pushPage("filter.html", {
params: FkCategory
});

$timeout(function() {
console.log("====timeout occured===");
$scope.filterflg = "0";
$scope.disabled = false;
}, 3000);
}
};

html

<ons-button  id="test1" class="toolbar-button--quiet navigation-bar__line-height"  ng-click="isProcessing=true;foo()" ng-model ="filterflg"
style="border: none; padding: 0 5px 0 0; margin-right:7px ;">
<i class="ion-android-options" style="font-size:24px; color: #FFFFFF;"></i>
</ons-button>

我在这个问题上浪费了10天,希望有 friend 能帮我保住工作..! :(

最佳答案

ng-disabled 不适用于跨度。它仅适用于输入按钮类型。

你有两个选择 -

  1. 将跨度转换为按钮元素

  2. 使用像 $scope.isProcessing 这样的变量来包装 foo() 函数。

    $scope.foo = 函数() {

    if (!$scope.isProcessing) {     
    //...
    $timeout(function() {
    console.log("====timeout occured===");
    $scope.filterflg = "0";
    $scope.disabled = false;
    $scope.isProcessing = false;
    }, 3000);
    }

    };

html

<span ng-click="isProcessing=true;foo()"></span>

关于javascript - 防止在 angularjs 中单击按钮两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33797101/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com