该 useInterval()
可组合函数与原生 setInterval()
相似,但也有一些关键区别。该可组合函数会负责在您的组件被销毁时“取消”间隔,您也可以在它正在运行时覆盖执行函数。
语法
import { useInterval } from 'quasar'
setup () {
const {
registerInterval,
removeInterval
} = useInterval()
// ...
}
content_paste
function useInterval(): {
registerInterval(fn: () => void, interval: string | number): void;
removeInterval(): void;
};
content_paste
示例
import { useInterval } from 'quasar'
setup () {
const { registerInterval } = useInterval()
function onSomeEvent (param) {
registerInterval(() => {
console.log('param is', param)
}, 2000) // every 2 seconds
}
// ...
// You can call onSomeEvent() multiple
// times in a row and only the last
// registered Function will run when it
// is time for it
// Note that the interval is reset each
// time you register/override it
}
content_paste
如果您需要在每个组件中使用多个 useInterval(),只需重命名返回对象中的函数即可。
const {
registerInterval: registerFirstInterval,
removeInterval: removeFirstInterval
} = useInterval()
const {
registerInterval: registerSecondInterval,
removeInterval: removeSecondInterval
} = useInterval()
content_paste