当前位置:首页 > VUE

vue实现简单的store

2026-01-20 05:53:19VUE

Vue 实现简单的 Store

在 Vue 中可以通过多种方式实现简单的状态管理(Store),以下介绍几种常见方法:

使用 Vue 的响应式 API

通过 reactiveref 创建响应式对象,实现一个轻量级 Store:

import { reactive } from 'vue';

// 创建 store
const store = reactive({
  count: 0,
  increment() {
    this.count++;
  }
});

// 在组件中使用
export default {
  setup() {
    return { store };
  }
}

使用 provide/inject 跨组件共享

适合小型应用或组件层级较深的场景:

// 父组件提供 store
import { provide, reactive } from 'vue';

const store = reactive({ count: 0 });
provide('store', store);

// 子组件注入使用
import { inject } from 'vue';

const store = inject('store');

基于 Vuex 的简化实现

如果需要更结构化的状态管理,可以模仿 Vuex 的简化模式:

import { reactive } from 'vue';

function createStore() {
  const state = reactive({
    count: 0
  });

  const mutations = {
    increment(state) {
      state.count++;
    }
  };

  return {
    state,
    commit(mutation) {
      mutations[mutation](state);
    }
  };
}

export const store = createStore();

使用 Pinia(推荐)

对于现代 Vue 3 项目,Pinia 是官方推荐的状态管理方案:

// store/counter.js
import { defineStore } from 'pinia';

export const useCounterStore = defineStore('counter', {
  state: () => ({
    count: 0
  }),
  actions: {
    increment() {
      this.count++;
    }
  }
});

// 组件中使用
import { useCounterStore } from './stores/counter';

const counter = useCounterStore();
counter.increment();

每种方法适用于不同场景,小型项目可使用响应式 API 或 provide/inject,中大型项目推荐使用 Pinia。

vue实现简单的store

标签: 简单vue
分享给朋友:

相关文章

vue搜索过后实现分页

vue搜索过后实现分页

Vue 实现搜索后分页功能 数据绑定与搜索逻辑 在 Vue 组件中定义必要的数据属性: data() { return { searchQuery: '', currentPa…

vue实现下载暂停

vue实现下载暂停

Vue实现下载暂停功能 在Vue中实现下载暂停功能,通常需要结合XMLHttpRequest或Fetch API的AbortController来控制请求中断。以下是具体实现方法: 使用XMLH…

vue实现微博发布动态

vue实现微博发布动态

使用Vue实现微博发布动态功能 创建Vue组件结构 新建一个WeiboPost.vue组件,包含文本框、图片上传和发布按钮: <template> <div class="w…

vue实现一个标签选择

vue实现一个标签选择

Vue 标签选择组件实现 基础实现 使用 Vue 的 v-for 和 v-model 指令可以快速实现标签选择功能: <template> <div class="tag-se…

jq 实现 vue

jq 实现 vue

jq 实现 Vue 的核心功能 jq 是一个轻量级的 JavaScript 库,主要用于 DOM 操作和事件处理。虽然它不能完全替代 Vue,但可以通过一些技巧模拟 Vue 的核心功能,如数据绑定、事…

vue 实现权限

vue 实现权限

Vue 实现权限控制的方法 在 Vue 项目中实现权限控制通常涉及前端路由、组件和按钮级别的权限管理。以下是几种常见的实现方式: 路由权限控制 通过路由守卫实现权限验证,过滤用户无权访问的路由:…