https://github.com/chlab/vuex-action-reload
A vuex plugin that reloads actions when a condition is met
https://github.com/chlab/vuex-action-reload
vue vue2 vuejs vuejs2 vuex vuex2
Last synced: 10 months ago
JSON representation
A vuex plugin that reloads actions when a condition is met
- Host: GitHub
- URL: https://github.com/chlab/vuex-action-reload
- Owner: chlab
- License: mit
- Created: 2017-09-05T12:42:49.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2017-12-20T16:26:49.000Z (almost 8 years ago)
- Last Synced: 2025-01-17T09:42:27.348Z (11 months ago)
- Topics: vue, vue2, vuejs, vuejs2, vuex, vuex2
- Language: JavaScript
- Size: 32.2 KB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-vue - vuex-action-reload - A vuex plugin that reloads actions when a condition is met ` 📝 4 years ago` (Utilities [🔝](#readme))
- awesome-vue-zh - vuex动作重装 - 一个vuex插件,可在满足条件时重新加载操作. (公用事业 / 国家管理)
- awesome-vue - vuex-action-reload ★2 - A vuex plugin that reloads actions when a condition is met. (Utilities / State Management)
- awesome-vue - vuex-action-reload - A vuex plugin that reloads actions when a condition is met. (Components & Libraries / Utilities)
- awesome-vue - vuex-action-reload - A vuex plugin that reloads actions when a condition is met. (Utilities / State Management)
README
# vuex-action-reload
[](https://badge.fury.io/js/vuex-action-reload)
[](https://travis-ci.org/chlab/vuex-action-reload)
A vuex plugin that reloads actions when a condition is met.
This handles the situation where a certain change in the vuex store requires other
parts of the store to change. Ideally, the parts that should change are handled
by dispatching actions (e.g. calling a remote API).
An example of this would be changing the locale of your app, thus requiring a
reload of all locale-dependent parts of your vuex store.
## Installation
```
npm install vuex-action-reload
```
## Usage
```
import createVuexReloadPlugin from 'vuex-action-reload'
const store = new Vuex.Store({
// ...
plugins: [
createVuexReloadPlugin({
actions: ['loadNews', 'Posts/loadLatest'],
condition: mutation => mutation.type === 'Locale/setLocale'
})
]
})
```
In this example, the actions `loadNews` and `Posts/loadLatest` will be dispatched
every time a mutation of `Locale/setLocale` occurs.
## API
```
createVuexReloadPlugin([options])
```
Creates a new instance of the plugin with the given options.
The following options can be provided to configure the plugin for your specific needs:
* `actions ` an array of actions that should be "reloaded" (dispatched)
when `condition` is met
* `condition ` A function returning a Boolean deciding which store mutations
should trigger a reload of `actions`. This function receives an object from vuex
containing `type` (name of mutation) and `payload` (the payload the mutation receives).
## Credits
Thank you to [Robin van der Vleuten](https://www.robinvdvleuten.nl/) for the inspiration
from his [vuex-persistedstate](https://github.com/robinvdvleuten/vuex-persistedstate) plugin.
## License
MIT © Christof Leuenberger