gpt4 book ai didi

javascript - 仅在第一次更新模糊

转载 作者:行者123 更新时间:2023-11-28 07:37:55 24 4
gpt4 key购买 nike

我可以使用 ng-model-options="{ updateOn: 'blur' }"推迟模型更新直到模糊。。这可以防止用户在第一次输入时因更改验证状态而烦恼。但是,当用户返回到失败的验证并对其进行修改时,updateOn: 'blur' 会阻止在用户修复该验证后(但在离开字段之前)更新验证状态。

如何重置 updateOn 选项以允许在一次模糊后使用默认模型更新计划?

最佳答案

ngModelOptions 指令 $evals its value ,但不观察它的变化。换句话说,您无法通过以下方式实现您正在寻找的目标:

<input ng-model="foo" ng-model-options="fooOptions">

然后在 Controller 中更改它:

$scope.fooOptions = {updateOn: "blur"};
$scope.changeOptions = function(){
$scope.fooOptions = {updateOn: "default"};
}

对于简单的情况,您可以添加另一个变量来更改验证消息的显示方式:

<form name="form1">
<input name="foo"
ng-model="foo" ng-model-options="{updateOn: 'default'}"
ng-blur="startShowingErrors = true" minlength="3">

<span ng-show="startShowingErrors && form1.foo.$invalid">invalid entry</span>
</form>

但是,如果您希望实际的表单状态不更新,那么您需要另一个指令作为 ngModelOptions 的外观,以在每次更改时引发 $compile

关于javascript - 仅在第一次更新模糊,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28397065/

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