小项目中vuex使用频率不太多我们完全可以用provide inject 来代替可以让项目小不少
2024-09-08 06:06:09
在一般小型项目中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)
当然这个只是一个小的方法而且特别的简单 祝大家新年快乐
最新文章
- Angularjs 服务注册
- ARCgis已知线裁剪已知面
- jquery层级原则器(匹配前一个元素后的所有平辈元素)
- js日历表
- JS中的for/in语句和arguments参数
- RSA算法小记
- MVC准备前基础知识
- js判断手机还是pc并跳转相关页面
- centos 安装redis php
- scala知识点(一)
- CODEVS 3657 括号序列
- 【剑指offer】包括min函数的栈
- jquery - 通过点击切换文字内容
- codeforces 557D. Vitaly and Cycle 二分图染色
- MVC5+EF6 入门完整教程 总目录
- 自制tunnel口建虚拟专网实验
- django admin 修改批量操作内容
- C# Socket的安全关闭
- ubuntu 14.04 安装python包psycopg2
- 【python】——三级菜单