- [{{ formatTime(item.time) }}] - {{ item.title }} - {{ item.subtitle }} -
-Store
+ + Vuex counter: {{ vuexStore.state.counter }} + + +
diff --git a/packages/playground/basic/src/stores/vuexStore.ts b/packages/playground/basic/src/stores/vuexStore.ts new file mode 100644 index 000000000..3a70a643a --- /dev/null +++ b/packages/playground/basic/src/stores/vuexStore.ts @@ -0,0 +1,38 @@ +import { createStore } from 'vuex' + +export default createStore({ + state: { + counter: 0, + }, + mutations: { + increment(state) { + state.counter++ + }, + }, + actions: { + doubleIncrement({ commit }) { + commit('increment') + commit('increment') + }, + }, + modules: { + namespacedModule: { + namespaced: true, + state: () => ({ + value: 'Hello, Vuex', + }), + getters: { + exclamation(state) { + return `${state.value}!!!!!!!` + }, + }, + modules: { + unnamespacedModule: { + state: () => ({ + value: 'unnamespacedModule', + }), + }, + }, + }, + }, +}) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4ec4bcb8c..8494417b2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -547,6 +547,9 @@ importers: vue-router: specifier: ^4.3.2 version: 4.3.2(vue@3.4.26(typescript@5.4.5)) + vuex: + specifier: ^4.1.0 + version: 4.1.0(vue@3.4.26(typescript@5.4.5)) devDependencies: '@vitejs/plugin-vue': specifier: ^5.0.4 @@ -8239,6 +8242,11 @@ packages: typescript: optional: true + vuex@4.1.0: + resolution: {integrity: sha512-hmV6UerDrPcgbSy9ORAtNXDr9M4wlNP4pEFKye4ujJF8oqgFFuxDCdOLS3eNoRTtq5O3hoBDh9Doj1bQMYHRbQ==} + peerDependencies: + vue: ^3.2.0 + w3c-keyname@2.2.8: resolution: {integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==} @@ -17012,6 +17020,11 @@ snapshots: optionalDependencies: typescript: 5.4.5 + vuex@4.1.0(vue@3.4.26(typescript@5.4.5)): + dependencies: + '@vue/devtools-api': 6.5.1 + vue: 3.4.26(typescript@5.4.5) + w3c-keyname@2.2.8: {} w3c-xmlserializer@4.0.0: