为什么捐赠
API 资源管理器
useTick 组合式函数
Quasar v2.15+

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()