【发布时间】:2015-06-04 17:24:53
【问题描述】:
我试图在我的 UI 中更新模型变量时运行一个函数,但我也试图通过去抖动来限制函数执行的频率,因为请求的函数会触发 AJAX 调用。然而,下面的去抖动功能似乎根本没有触发。
我最初编写了自己的 debounce 服务,并使用下划线 debounce 方法来测试我写的内容是否不正确,但事实证明 Angular 只是不喜欢下面的东西......
不能在 HTML 中使用 Angular 的 ng-model-option debounce 方法。
$scope.$watch('filters.monthlyCost', function () {
_.debounce(function () {
console.log('lol');
}, 1000);
});
没有控制台错误,console.log('lol') 永远不会发生。
注意:$watch 会执行。
【问题讨论】:
-
你的手表在执行吗?
-
@PSL 是的,$watch 正在执行。
-
如果你想在 debounce 上观看,你应该使用模型选项,否则每次模型改变时它总是会触发,即使有下划线 debounce。 docs.angularjs.org/api/ng/directive/ngModelOptions
标签: javascript angularjs underscore.js