Vuex ORM is a plugin for Vuex to enable Object-Relational Mapping access to the Vuex Store. Vuex ORM lets you create "normalized" data schema within Vuex Store with relationships such as "Has One" and "Belongs To Many" like any other usual ORM library. It also provides fluent API to get, search and update Store state.
Vuex ORM is heavily inspired by Redux recipe of "Normalizing State Shape" and "Updating Normalized Data". Learn more about the concept and motivation of Vuex ORM at What Is Vuex ORM?.
- Prologue
- Core Components
- Interacting With Store
- Relationships
- Advanced Usage
- Digging Deeper
- API Reference
Join us on our Slack Channel for any questions and discussions.
Although there is the Slack Channel, do not hesitate to open an issue for any question you might have. We're always more than happy to hear any feedback, and we don't care what kind of form they are.
You can find example application built with Vuex ORM at here.
Vuex ORM can be extended via a plugin to add additional features. Here is the list of available plugins.
- Vuex ORM Axios – The plugin to sync the store against a RESTful API.
- Vuex ORM GraphQL – The plugin to sync the store against a GraphQL API.
- Vuex ORM Search – The plugin adds a search() method to filter records using fuzzy search logic from the Fuse.js.
- Vuex ORM Change Flags - Vuex ORM plugin for adding IsDirty / IsNew flags to model entities.
- Vuex ORM Soft Delete – Vuex ORM plugin for adding soft delete feature to model entities.
You may find a list of awesome things related to Vuex ORM at Awesome Vuex ORM.