【问题标题】:How to reset the angular scope variable when the Html tag gets executed?执行 Html 标签时如何重置角度范围变量?
【发布时间】:2021-05-05 17:17:58
【问题描述】:

嘿,我有一个变量绑定到我的作用域,


$scope.isSuccess = {
       invalidPhone : false
}

当变量为真时,我正在使用跨度显示一条消息...

<form name = "myForm">
    <span ng-if="isSuccess.invalidPhone && myForm.$submitted">
          Please enter valid phone no.
    </span>
</form>

现在我在表单提交时调用一个 Js 方法..它验证电话号码并设置

$scope.isSuccess.invalidPhone = true 

仅当它不正确时

现在我想在我的 span 执行时将此变量的值重置为 false。怎么做 ?谢谢

【问题讨论】:

  • 你说“span 被执行”是什么意思?什么是执行跨度?
  • @georgeawg 实际上我在提交表单时正在验证电话号码,因此每次我检查其值是否为真后都需要重置变量,并且我正在检查我的当我显示错误消息时使用 ng-if 的 span 标签,那么如何在这个特定的 span 之后更改我的变量值。谢谢
  • AngularJS 使用两种数据绑定机制。您只需要重置“$scope.isSuccess.invalidPhone”值,然后 span 将自动显示或隐藏内容。您可以在成功验证数据时重置变量。
  • 是的,如果电话号码不正确,我将使用提交表单时调用的方法更改其值,但实际上是在其值更改后,我现在检查了我需要重置其值,我可以在 Js 中创建一个方法,但是如何在我的 span 内或之后调用,无论我的 msg 是否显示。@Ganesh help 是否有任何角度指令可用于调用我的方法...如果我调用两个方法表单提交的时候,因为只有一个按钮,所以它不起作用

标签: javascript html angularjs angularjs-scope


【解决方案1】:

使用ng-change 指令更新标志的状态:

<form name = "myForm">
    <input name="phoneNumber" ng-model="data.num" type="text" 
           ng-change="updateStatus(data.num)" /> 
    <span ng-if="isSuccess.invalidPhone && myForm.$submitted">
          Please enter valid phone no.
    </span>
</form>

用户每次更换电话号码时,都会调用该函数:

$scope.updateStatus = function(num) {
    //Check phone number here
});

有关详细信息,请参阅

【讨论】:

    猜你喜欢
    • 2017-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-21
    • 1970-01-01
    • 2016-06-23
    • 2015-02-20
    相关资源
    最近更新 更多