【问题标题】:How do I disable a button in my angular controller if a condition is met?如果满足条件,如何禁用角度控制器中的按钮?
【发布时间】:2019-07-23 14:18:06
【问题描述】:

如果布尔变量(从后端返回)为真,我需要禁用按钮。

这是我的角度控制器上的不完整功能,如何更改我的控制器和 HTML 按钮以使其正常工作?

    $scope.flagInLavorazione = function (flagInLavorazione) {
    if (flagInLavorazione === true)

【问题讨论】:

    标签: javascript html angularjs frontend


    【解决方案1】:

    您正在寻找ng-disabled。只需从您的控制器中为其分配一个属性。当它是true 时,该元素将被禁用。使用后端的值填充该属性。

    【讨论】:

    • 您能提供一个代码示例吗?我尝试了一些方法,但无法成功。
    【解决方案2】:

    A1:

    <button ng-disabled="isNotReady">I'm a button</button>
    
    

    【讨论】:

    • 你确定你没有混合AngularJSAngular 2+的语法吗?
    • 哦,你是对的。最初的问题是关于 AngularJS,而不是 A2+。好吧,我们只需要:&lt;button ng-disabled="$scope.isNotReady"&gt;I'm a button&lt;/button&gt;
    【解决方案3】:

    编辑:根据您的要求,您将使用:

    $scope.disabilitaConvalida = function (flagInLavorazione) { 
        $scope.saldoNegativo = false; 
        if (flagInLavorazione === false) { 
            $scope.saldoNegativo = true;
        } 
    }
    

    在你的模板中:

    <button ng-disabled="saldoNegativo"></button>
    

    原答案:

    您在模板中设置:

    <button ng-disabled="condition"></button>
    

    还有

    $scope.condition = truefalse 基于后端变量在您的控制器中。

    【讨论】:

    • $scope.disabilitaConvalida = function (flagInLavorazione) { var saldoNegativo = false; if (flagInLavorazione === false) { saldoNegativo = true; } return saldoNegativo; }; 这是我在控制器上的功能,我用ng-disabled="$scope.disabilitaConvalida(data.flagInLavorazione)" 调用按钮不幸的是它仍然不起作用,我做错了什么?
    • 编辑了我的答案,请看
    • 不幸的是,它仍然无法正常工作,因为在按钮上没有一些 data.flagInLavorazione 的情况下,这不会通过我的后端布尔值。我如何调整它以从后端获取实际变量?
    • 无论你在哪里获取数据,你只要调用$scope.disabilitaConvalida(data.flagInLavorizione),如果你的buttonng-disabled="saldoNegativo",它就会工作。
    • 我不明白如何在按钮之外调用它。你能举个例子吗?
    猜你喜欢
    • 1970-01-01
    • 2021-09-24
    • 2021-09-11
    • 2020-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-18
    • 2016-08-10
    相关资源
    最近更新 更多