useTick()
组合式函数的作用范围与 Vue 中的 nextTick()
类似,但有一些关键区别。一旦触发 nextTick(),它将在下一个“tick”执行,无论如何。另一方面,useTick() 可以被“取消”。您还可以覆盖它。
换句话说,如果您想在下一个 Vue “tick”调度一个函数,但您可能希望覆盖它甚至取消它,那么这就是适合您的组合式函数。
useTick 组合式函数还在您的组件销毁时自动取消下一个注册的“tick”(如果有注册且仍在等待)。
语法
import { useTick } from 'quasar'
setup () {
const {
registerTick,
removeTick
} = useTick()
// ...
}
内容粘贴
function useTick(): {
registerTick(fn: () => void): void;
removeTick(): void;
};
内容粘贴
示例
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
}
内容粘贴
如果您每个组件需要多个 useTick(),只需重命名返回对象中的函数即可
const {
registerTick: registerFirstTick,
removeTick: removeFirstTick
} = useTick()
const {
registerTick: registerSecondTick,
removeTick: removeSecondTick
} = useTick()
内容粘贴