Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ckaznable/vue-use-shared-tick

Vue 3 hooks run function in same setInterval
https://github.com/ckaznable/vue-use-shared-tick

typescipt vue vue-hooks vue-hooks-library vue-typescript vue3

Last synced: about 2 months ago
JSON representation

Vue 3 hooks run function in same setInterval

Awesome Lists containing this project

README

        

[![npm version](https://img.shields.io/npm/v/vue-use-shared-tick?color=g)](https://www.npmjs.com/package/vue-use-shared-tick)

# Vue useSharedTick

Vue 3 hook run function in same `setInterval`

## Installation

use npm
```
npm install vue-use-shared-tick --save
```

use yarn
```
yarn add vue-use-shared-tick
```

use pnpm
```
pnpm install vue-use-shared-tick
```

## Usage

run function per second

```vue

import { ref } from "vue"
import useSharedTick from "vue-use-shared-tick"

const time = ref(Date.now())
const onTick = (t) => {
time.value = t
}

useSharedTick(onTick)

Current Timestamp: {{ time }}

```

run function per 3 second

```js
useSharedTick(onTick, {tick: 3000})
```

## API

### useSharedTick

```js
useSharedTick(handler: (t: number)=>void, param)
```

### Handler

| Param | Type | Description |
|---|---|---|
|timestamp|`number`|current timestamp|

### Parameter

| Field | Type | Default | Requirement |Description |
|---|:---:|:---:|:---:|:---:|
| tick | `number` | `1000` | `No` | Running interval time |
| runOnTabVisible | `boolean` | `false` | `No` | when true will pause/start interval if `visibilitychange` event dispatched |

## License
The files included in this repository are licensed under the MIT license.