私は _lodash.debounce() を使用しようとしてきましたが、動作しています。ただし、それが最善の方法で機能しているかどうかはわかりません。lodash Web サイトの例を見たところ、パラメータを渡さない単純な例のようです。ここに私が持っているものがあります:
$scope.parsePid = _.debounce(function () {
$scope.$apply(function () {
var pid = $scope.option.sPidRange;
if (pid == null || pid === "") {
$scope.pidLower = null;
$scope.pidUpper = null;
}
else if (pid.indexOf("-") > 0) {
pid = pid.split("-");
$scope.pidLower = parseInt(pid[0]);
$scope.pidUpper = parseInt(pid[1]);
}
else {
$scope.pidLower = parseInt(pid);
$scope.pidUpper = null;
}
});
}, 1500);
上記のコードは、$scope.parsePid
デバウンスされた関数を返します。4 行目で値を取得し、$scope.option.SPidRange
それを関数で使用していることに注意してください。この方法で取得するのではなく、何らかの方法でこのパラメーターを渡したいと思っています。
この関数を次のように呼び出します。
$scope.$watch("option.sPidRange", function (pid) {
if (pid !== null) {
$scope.parsePid();
}
});
ここで、値 pid は次のようになります。$scope.parsePid
この pid の値をデバウンスされた関数に渡したいのですが、これを行う方法がわかりません。いくつか試してみましたが、デバウンス機能でエラーが発生しました。
debounced にパラメータを渡すことは可能function $scope.parsePid()
ですか?