在一般小型项目中vuex实在是太浪费了所以我们可以用到 vue中的provide inject 代替

1.在vue3中我们先另起一个 文件创建一个全局的状态和方法的地方(如果你的全局状态特别的多记得要划分清楚 多来几个文件方便管理)

import {reactive} from 'vue'
export default {
state : reactive ({
BaseUrl:'http://47.122.16.71:3999/',
globalAvatarUrl:localStorage.getItem('globalAvatarUrl') || 'images/3.jpg' ,
globalUsername: localStorage.getItem('globalUsername') || '未获取到',
}),
ChangeUsername (value:string) {
this.state.globalUsername = value
localStorage.setItem('globalUsername',value)
},
ChangeAvatar (value:string) {
this.state.globalAvatarUrl = value
localStorage.setItem('globalAvatarUrl',value)
}
}

2.在App.vue中加上这个全局的注入就可以使用了 因为app是全局最外层的组件所以下面的小组件都可以调用这个里面方法可以使用函数来传递数据

import { provide } from 'vue'
import store from '@/store/index'
provide('store', store)

3. 调用数据和方法直接使用就好了 非常的好用

import {ref , inject } from 'vue'

const store: any = inject('store')

store.ChangeUsername('传递回的数据 ')

// 调用数据
console.log(store.state)

当然这个只是一个小的方法而且特别的简单 祝大家新年快乐

最新文章

  1. Angularjs 服务注册
  2. ARCgis已知线裁剪已知面
  3. jquery层级原则器(匹配前一个元素后的所有平辈元素)
  4. js日历表
  5. JS中的for/in语句和arguments参数
  6. RSA算法小记
  7. MVC准备前基础知识
  8. js判断手机还是pc并跳转相关页面
  9. centos 安装redis php
  10. scala知识点(一)
  11. CODEVS 3657 括号序列
  12. 【剑指offer】包括min函数的栈
  13. jquery - 通过点击切换文字内容
  14. codeforces 557D. Vitaly and Cycle 二分图染色
  15. MVC5+EF6 入门完整教程 总目录
  16. 自制tunnel口建虚拟专网实验
  17. django admin 修改批量操作内容
  18. C# Socket的安全关闭
  19. ubuntu 14.04 安装python包psycopg2
  20. 【python】——三级菜单

热门文章

  1. 动词时态=>3.现在时态和过去时态构成详解
  2. 【JavaWeb】学习笔记——JSP
  3. DQL语句排序与分组
  4. springboot启动问题集合
  5. JavaScript&Bootstrap
  6. 配置jmeter环境变量
  7. Go语言核心36讲44
  8. 【云原生 · Kubernetes】runtime组件
  9. Tauri+Rust+Vue 跨平台桌面应用简明教程(1)环境创建+系统事件+自定义菜单
  10. c++详细学习——引用