Javascript 当ng show为false AngularJS时,清除输入ng模型

Javascript 当ng show为false AngularJS时,清除输入ng模型,javascript,angularjs,Javascript,Angularjs,嗨,我有个小问题。 我有一个输入栏,它有时需要以表格的形式显示,有时不需要。 我担心如果有人把数据放进去,然后把它藏起来,然后按send,数据就会被发送出去。所以我想在每次隐藏时重置输入 改变不是个好主意,因为它不允许我写任何东西 <div class="form-group" ng-show="isItOne=='1' || isItTwo=='2'"> <label class="col-md-1">someName</label> <div

嗨,我有个小问题。 我有一个输入栏,它有时需要以表格的形式显示,有时不需要。 我担心如果有人把数据放进去,然后把它藏起来,然后按send,数据就会被发送出去。所以我想在每次隐藏时重置输入

改变不是个好主意,因为它不允许我写任何东西

<div class="form-group" ng-show="isItOne=='1' || isItTwo=='2'">
  <label class="col-md-1">someName</label>
  <div class="col-md-4">
    <input class="form-control" type="text" name="someOtherName" ng-model="nameModel" ng-change="clearWhenChanged()">
  </div>
</div>

使用标记属性
ng if=“your condition”
,这将仅在条件为true时呈现标记。否则它将从DOM中删除整个输入。

使用标记属性
ng if=“your condition”
,这将仅在条件为true时呈现标记。否则,它将从DOM中删除整个输入。

取出显示条件,并使用它来控制可见性和模型值

$scope.showHideField = function(){
    if(isItOne=='1' || isItTwo=='2'){
        return true;
    }
    $scope.nameModel= "";
}
在你的div中调用它:


这还提供了传递标志的灵活性,您可以根据该标志决定是否清除字段的值:)

取出显示条件并使用它控制可见性和模型值

$scope.showHideField = function(){
    if(isItOne=='1' || isItTwo=='2'){
        return true;
    }
    $scope.nameModel= "";
}
在你的div中调用它:


这还提供了传递标志的灵活性,您可以根据该标志决定是否清除字段的值:)

您可以在设置
isItOne
变量的地方调用函数。在该函数中,您可以将变量设置为
1
2
,然后清除模型值

$scope.showHideField = function(){
    if(isItOne=='1' || isItTwo=='2'){
        return true;
    }
    $scope.nameModel= "";
}
HTML

<div class="form-group" ng-show="show()">
    <label class="col-md-1">someName</label>
    <div class="col-md-4">
        <input class="form-control" type="text" name="someOtherName" ng-model="nameModel" ng-change="clearWhenChanged()">
    </div>
</div>

综上所述,如果您不想发送模型,只需在提交时取消设置模型的值可能是一个更好的选择。

您可以调用一个函数来设置
isItOne
变量。在该函数中,您可以将变量设置为
1
2
,然后清除模型值

$scope.showHideField = function(){
    if(isItOne=='1' || isItTwo=='2'){
        return true;
    }
    $scope.nameModel= "";
}
HTML

<div class="form-group" ng-show="show()">
    <label class="col-md-1">someName</label>
    <div class="col-md-4">
        <input class="form-control" type="text" name="someOtherName" ng-model="nameModel" ng-change="clearWhenChanged()">
    </div>
</div>
话虽如此,如果您不想发送模型,只需在提交时取消设置模型的值可能是一个更好的选择