gpt4 book ai didi

javascript - Angular 形式 ng 所需的表达式被调用多次

转载 作者:行者123 更新时间:2023-12-03 08:14:41 24 4
gpt4 key购买 nike

我正在构建一个表单,其中我的字段可以具有基于其他字段的强制条件。我正在使用类似的东西

ng-required="ctrl.evaluateCond(item.condition)"

对于我的每个领域,这都有效。每当用户更改某些输入时,都会重新评估整个 for 及其所有字段。问题是,它似乎为每个字段多次调用此valuateCond函数?这是一个问题,因为我稍后将有条件调用服务器来获取验证所需的一些数据,并且出于性能原因,当然该调用只能进行一次。我在想是否应该创建某种单例并在启动时初始化一个 bool 变量,以便在进展时,对它的其他调用将被阻止,直到该 bool 值被反转回来。有点原始的锁定机制。然而,这似乎是一种丑陋的解决方法,我想知道是否有人有其他想法?

最佳答案

该函数被多次调用,因为 Angular 支持两种方式的数据绑定(bind)。当作用域变量发生更改时,$digest 函数会触发相应的监听器、重新计算值并重新呈现 View 。

在您的情况下,您可以在输入字段上使用 debounce 模型选项,以便模型仅在指定的时间间隔后更新,这样您就可以限制与 ng 相关的函数调用频率-必需

示例

<input type="text" name="userName"
ng-model="user.name"
ng-model-options="{ debounce: 1000 }" />

关于javascript - Angular 形式 ng 所需的表达式被调用多次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33995673/

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