為何捐款
API 瀏覽器
useTick composable
Quasar v2.15+

useTick() composable 在作用域上與 Vue 的 nextTick() 相似,但有一些關鍵差異。一旦您觸發 nextTick(),它將在下一個「tick」中執行,無論如何。另一方面,useTick() 可以「取消」。您也可以覆蓋它。

換句話說,如果您想在下一個 Vue「tick」上排程一個函式,但您可能想要覆蓋它甚至取消它,那麼這就是適合您的 composable。

當您的元件被銷毀時,useTick composable 也會自動取消下一個已註冊的 “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()