useTick() 组合式API在功能上类似于Vue的 nextTick(),但有一些关键区别。一旦您触发了nextTick(),它将在下一个"tick"中执行,无论如何。而useTick()可以被"取消"。您也可以覆盖它。
换句话说,如果您想在下一个Vue "tick"中安排一个函数,但您可能想要覆盖它甚至取消它,这就是适合您的组合式API。
当您的组件被销毁时,useTick组合式API还会自动取消下一个已注册的"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)
})
}
// ...
// 您可以连续多次调用onSomeEvent(),
// 但只有最后一次注册的"tick"会在
// 到达执行时间时运行
}content_paste
如果您需要在一个组件中使用多个useTick(),只需重命名返回对象中的函数:
const { registerTick: registerFirstTick, removeTick: removeFirstTick } = useTick();
const { registerTick: registerSecondTick, removeTick: removeSecondTick } = useTick();content_paste