値が観測可能にバインドされたスライダがあり、すべて正常に動作します。NativeScriptスライダの観測後にイベントを実行すると、変更が中止されます
スライダにObservable.propertyChangeEvent
を設定しましたので、オブザーバブルが変更されたとき(ユーザーがスライダをドラッグしたとき)にイベントが表示されます。
slider.on(Observable.propertyChangeEvent, function(data: PropertyChangeData) {
console.log('EventName: ' + data.eventName);
console.log('PropName: ' + data.propertyName);
console.log('Value: ' + data.value);
})
は、私が欲しい:
I設定した時間内に変更し、観察が終了します一度イベントを実行したいと思います(例:1000ミリ秒)。観測を再開する場合は、このイベントを停止する方法です。ユーザーがUIの他の部分を更新するためにスライダーを目的地に設定すると、処理を行う必要があります。したがって、ユーザーが再度変更を開始した場合、パフォーマンス上の理由から、その処理を停止してから、ユーザーがスライダーを調整した後に変更を実行することをお勧めします。
私はUnderscore.js _.debounceを使用して回答の提案で変数を設定し、タイマーを開始しますが、それは私のために今をクリックすると、本当にではありません:)
アップデート()
let underscore = require("underscore");
function debouncedValue(data: PropertyChangeData) {
console.log('NewSlider value: ' + data.value);
}
let debouncedSlider = underscore.debounce(debouncedValue, 800);
slider.on(Observable.propertyChangeEvent, debouncedSlider);
を考えています
私はデバウンスを考えていましたが、私の心は崩れました。悪いことを試して、すべてが良いかどうかを知らせてください。前もって感謝します。 –