useTick()
composable 在作用域上與 Vue 的 nextTick()
相似,但有一些關鍵差異。一旦您觸發 nextTick(),它將在下一個「tick」中執行,無論如何。另一方面,useTick() 可以「取消」。您也可以覆蓋它。
換句話說,如果您想在下一個 Vue「tick」上排程一個函式,但您可能想要覆蓋它甚至取消它,那麼這就是適合您的 composable。
當您的元件被銷毀時,useTick composable 也會自動取消下一個已註冊的 “tick”(如果有的話,且仍在等待中)。
語法
import { useTick } from 'quasar'
setup () {
const {
registerTick,
removeTick
} = useTick()
// ...
}
content_paste
function useTick(): {
registerTick(fn: () => void): void;
removeTick(): void;
};
content_paste
範例
import { useTick } from 'quasar'
setup () {
const { registerTick } = useTick()
function onSomeEvent (param) {
registerTick(() => {
console.log('param is', param)
})
}
// ...
// You can call onSomeEvent() multiple
// times in a row and only the last
// registered "tick" will run when it
// is time for it
}
content_paste
如果您需要在每個元件中使用多個 useTick(),只需重新命名回傳物件的函式即可
const {
registerTick: registerFirstTick,
removeTick: removeFirstTick
} = useTick()
const {
registerTick: registerSecondTick,
removeTick: removeSecondTick
} = useTick()
content_paste