Javascript 除盎司未在$scope内开火。$watch

Javascript 除盎司未在$scope内开火。$watch,javascript,angularjs,underscore.js,Javascript,Angularjs,Underscore.js,我试图在UI中的模型变量更新时运行一个函数,但我也试图在请求的函数触发AJAX调用时通过去抖动来限制函数的执行频率。然而,下面的去盎司功能似乎根本没有启动 我最初编写了自己的debounce服务,并使用下划线debounce方法来测试我编写的内容是否错误,但结果证明Angular不喜欢下面的内容 在HTML中使用Angular的ng模型选项debounce方法不是一个选项 $scope.$watch('filters.monthlyCost', function () { _.debo

我试图在UI中的模型变量更新时运行一个函数,但我也试图在请求的函数触发AJAX调用时通过去抖动来限制函数的执行频率。然而,下面的去盎司功能似乎根本没有启动

我最初编写了自己的debounce服务,并使用下划线debounce方法来测试我编写的内容是否错误,但结果证明Angular不喜欢下面的内容

在HTML中使用Angular的
ng模型选项
debounce方法不是一个选项

$scope.$watch('filters.monthlyCost', function () {

    _.debounce(function () {
        console.log('lol');
    }, 1000);

});
没有控制台错误,
console.log('lol')
只是从未发生过


注意:$watch执行。

我从uu.debounce(未测试)的文档中了解到

使用您的代码,您只注册了一个去Bounce函数,但它不会执行。

因为返回一个函数(
(函数):返回新的去Bounce函数。
),需要执行
去Bounce
的返回值

i、 例如:

_.debounce(function () {
        console.log('lol');
    }, 1000)();
你可以做:

$scope.$watch('monthlyCost', _.debounce(function() {
        console.log('lol');
    }, 1000));

你的手表正在运行吗?@PSL是的,$watch正在运行。如果你想在去Bounce上观看,你应该使用模型选项,否则每次模型更改时,即使使用下划线去Bounce,它也总是会触发。
$scope.$watch('monthlyCost', _.debounce(function() {
        console.log('lol');
    }, 1000));