为什么捐赠
API 浏览器
联系站长
useTick 组合式API
Quasar v2.15+

useTick() 组合式API在功能上类似于Vue的 nextTick(),但有一些关键区别。一旦您触发了nextTick(),它将在下一个"tick"中执行,无论如何。而useTick()可以被"取消"。您也可以覆盖它。

换句话说,如果您想在下一个Vue "tick"中安排一个函数,但您可能想要覆盖它甚至取消它,这就是适合您的组合式API。

当您的组件被销毁时,useTick组合式API还会自动取消下一个已注册的"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)
    })
  }

  // ...

  // 您可以连续多次调用onSomeEvent(),
  // 但只有最后一次注册的"tick"会在
  // 到达执行时间时运行
}

如果您需要在一个组件中使用多个useTick(),只需重命名返回对象中的函数:

const { registerTick: registerFirstTick, removeTick: removeFirstTick } = useTick();

const { registerTick: registerSecondTick, removeTick: removeSecondTick } = useTick();