この関数をVueJsでデバウンスすると、プリミティブとしてミリ秒数を指定するとうまく動作します。しかし、私が小道具への参照としてそれを提供すれば、それを無視します。Vuejs 2:デバウンスがウォッチオプションで動作しない
ここで小道具の簡略版です。ここ
props : {
debounce : {
type : Number,
default : 500
}
}
が動作しない時計のオプションである:ここで
watch : {
term : _.debounce(function() {
console.log('Debounced term: ' + this.term);
}, this.debounce)
}
は仕事をして、時計のオプションです:
watch : {
term : _.debounce(function() {
console.log('Debounced term: ' + this.term);
}, 500)
}
は、
スコープの問題だと思われますが、修正方法はわかりません。次のように...私は時計の方法を交換する場合:
watch : {
term : function() {
console.log(this.debounce);
}
}
を...私はコンソールに表示される(500)正しいデバウンス値を取得します。
これは範囲の問題です。 'created .'のようなライフサイクルフックの中に' this。$ watch'を定義すれば、 'this.debounce'の正しい値を受け取ることができます。 https://vuejs.org/v2/api/#vm-watch –