我可以使用_lodash在AngularJS中对被监视的进行防抖或节流吗?

14 浏览
0 Comments

我可以使用_lodash在AngularJS中对被监视的进行防抖或节流吗?

我有下面的代码,它对一个绑定到$scope.id的字段进行监听。每当输入字段的值发生变化时,监听函数都会执行:

$scope.$watch("id", function (id) {
   // 基于$scope.id执行某些操作的代码
});

有没有办法我可以在这个函数上设置一个超时或者使用_lodash进行抖动,这样在用户更改值时就不会在每次按键时执行代码。

我希望延迟一秒钟,这样当用户停止输入一秒钟后,监听函数内部的代码块才会运行。请注意,输入值是随时可能改变的。例如,如果值为"1"或"10"或"1000",我都需要调用该函数。这类似于谷歌搜索建议框的工作方式。如果用户输入了999,我需要调用该函数。如果他删除了一个9,使其变为99,我也需要调用该函数。

我可以使用_lodash,所以最适合我需求的解决方案可能是使用它。

0